一個認證後端在我的Django應用程序,我需要多類型的Django用戶:
1.這是由電子郵件識別和密碼驗證一個典型的管理員用戶
2.它連接到遠程應用程序django並使用預共享密鑰和令牌進行身份驗證。此類用戶不需要電子郵件Django的:每個用戶模型
每種類型的用戶都有不同的關聯屬性。我知道我可以在Django中擴展用戶模型。 我已經創建了電子郵件身份驗證後端。但是,這適用於所有帳戶,包括遠程應用程序。
是否有任何有效的方法來創建一個用戶類型的auth後端?
一個認證後端在我的Django應用程序,我需要多類型的Django用戶:
1.這是由電子郵件識別和密碼驗證一個典型的管理員用戶
2.它連接到遠程應用程序django並使用預共享密鑰和令牌進行身份驗證。此類用戶不需要電子郵件Django的:每個用戶模型
每種類型的用戶都有不同的關聯屬性。我知道我可以在Django中擴展用戶模型。 我已經創建了電子郵件身份驗證後端。但是,這適用於所有帳戶,包括遠程應用程序。
是否有任何有效的方法來創建一個用戶類型的auth後端?
您可以創建遠程應用程序的自定義認證後端,並顯示在您的設置是這樣的:
AUTHENTICATION_BACKENDS = (
'path.to.email.authentication',
'path.to.remote.app.authentication',
)
這樣,Django會首先嚐試使用電子郵件身份驗證,如果失敗,將會嘗試遠程應用驗證。
你可以閱讀有關自定義認證後端here
希望它能幫助!
如果您想禁用某些用戶的密碼驗證,您可以使用set_unusable_password
。從文檔:
將用戶標記爲沒有設置密碼。這與爲密碼輸入空白字符串不同。該用戶的check_password()將永遠不會返回True。不保存用戶對象。
如果您的應用程序針對現有外部源(例如LDAP目錄)進行身份驗證,則可能需要此操作。