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

2024-06-17 14:20:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个不同的领域比如说,美国广播公司以及xyz.com网站这两个站点都使用django框架及其身份验证系统,我想创建一个与中相同的密码的用户xyz.com网站以便用户可以使用相同的凭据登录父域. 在

另一种方法是使用与中相同的哈希密码创建用户xyz.com网站但是这两个域运行在不同版本的django上(我在django版本1.6.3和1.7.2中测试过该方法)

  • 上述方法的后果是什么?在
  • 如果用户数据库不是集中化的,是否有其他更好的选择/方法来创建集中式身份验证系统。在

我也不想添加自定义密码字段,或存储在用户的会话或管理密码从我的一端。在


Tags: django方法用户版本com框架身份验证密码
2条回答

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

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

你应该集中起来数据库。如果你不想那样做。您在两个项目中都设置了upper,并只为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': '',
     },
}

你应该只使用一个数据库来管理用户。在

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

希望如此!它会帮助你的。:)

相关问题 更多 >