簡體   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