繁体   English   中英

在Django中使用多个域中的相同密码创建用户

[英]Creating user in django with same password in multiple domains

我有两个不同的域,abc.com和xyz.com这两个站点都使用django框架及其身份验证系统,我想创建一个用户名与xyz.com中的密码相同,以便该用户可以使用相同的凭据登录abc.com。

一种选择是使用与xyz.com中相同的哈希密码创建用户,但是两个域在django的不同版本上运行(我已经在django版本1.6.3和1.7.2中测试了该方法)。我有以下问题:

  • 使用上述方法会有什么后果(未来的问题)?
  • 如果用户数据库不是集中式的,还有其他更好的选择/方法来创建集中式身份验证系统。

另外,我不想添加自定义密码字段,也不想存储在用户会话中或从头开始管理密码。

关于集中式身份验证:您可以将数据库仅用于User模型。 支持多个数据库已有一段时间了,您可以在此处阅读有关内容。

每个域都有一个会话cookie,它们将异步超时,但是将使用相同的密码和用户名来完成身份验证。

您应该建立集中式数据库,如果您不想这样做。 您已经在两个项目中都设置了两个数据库,并仅为django用户创建了另一个数据库。

设置如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.xxx',
        'NAME': 'djangoUserDB',                 
        'USER': 'root',                    
        'PASSWORD': '',                
        'HOST': 'abc or xyz', # you should put this in one domain. abc or xyz               
        'PORT': '',
    },

    'abc': {
        'ENGINE': 'django.db.backends.xxx',
        'NAME': 'abcDB',                 
        'USER': 'root',                    
        'PASSWORD': '',                
        'HOST': 'abc', 
        'PORT': '',
    },

   'xyz': {
        'ENGINE': 'django.db.backends.xxx',
        'NAME': 'abcDB',                 
        'USER': 'root',                    
        'PASSWORD': '',                
        'HOST': 'xyz',         'PORT': '',
     },
}

您仅应使用一个数据库来进行用户管理。

我认为不会发生任何问题。

希望! 它会帮助你。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM