我種的新Django和我關心我們才能使用多種模型進行驗證爲不同類型的用戶對我們的應用例如,用於客戶使用的客戶模型中,供應商使用供應商模式,也只保留默認的用戶註冊模式,僅供管理使用?如果是這樣,你可以指出我的方向是正確的,它是如何做到的?應該使用哪個軟件包? 有一種方法是我爲每個需要進行身份驗證的模型添加一個外鍵,但這會涉及每個查詢中的連接,這可能會導致性能問題。我需要知道是否有更好的方法。這些自定義模型也可以爲管理面板中的所有權限提供幫助。 專家意見將非常感激。Django的 - 使用多個模型進行驗證
回答
有幾個不同的選項來處理。 也許先查詢the Django-docu。 我已經you'ld喜歡定製,以你的用戶會與郵件地址進行驗證,這裏是前文件上寫的knbk和rahul-gupta一個例子:
Django默認的認證上的用戶名和密碼的工作原理領域。電子郵件身份驗證後端將根據電子郵件和密碼對用戶進行身份驗證。
from django.contrib.auth import get_user_model class EmailBackend(object): """ Custom Email Backend to perform authentication via email """ def authenticate(self, username=None, password=None): user_model = get_user_model() try: user = user_model.objects.get(email=username) if user.check_password(password): # check valid password return user # return user to be authenticated except user_model.DoesNotExist: # no matching user exists return None def get_user(self, user_id): user_model = get_user_model() try: return user_model.objects.get(pk=user_id) except user_model.DoesNotExist: return None
將此身份驗證後端添加到AUTHENTICATION_BACKENDS設置。
# settings.py AUTHENTICATION_BACKENDS = ( 'my_app.backends.EmailBackend', ... )
我想使用多個模型來認證用戶。那可能嗎? –
@tahir有兩種方法。要麼擴展現有的身份驗證系統,要麼創建一個新的身份驗證系統。 你有可能解釋,你實際打算做什麼? –
我的應用程序將有三個不同的門戶網站,一個是管理,一個爲我們的客戶和一個爲我們的供應商。我想爲每個門戶使用單獨的身份驗證系統。我希望能夠從默認管理員cPanel的權限系統中受益。這可能嗎? –
- 1. 使用NancyFX進行模型驗證
- 2. Django的多對多模型驗證
- 3. 使用django進行模型表單驗證
- 4. Django 1.8.3 - 使用相關對象進行模型字段驗證
- 5. 使用StringLength驗證屬性進行模型驗證
- 6. Django驗證。模型中使用多個文件
- 7. 使用兩個模型進行驗證的角度指令
- 8. 對passport.js中的多個模型進行身份驗證
- 9. Django使用ReactJS和Redux進行驗證
- 10. Django的:驗證一個多到許多通過模型
- 11. Django驗證組模型m2m
- 12. Django:模型驗證順序
- 13. Django模型驗證失敗
- 14. Django驗證模型表格
- 15. Django:跳過模型驗證
- 16. 使用PHP進行多選的驗證
- 17. 使用其他型號進行驗證
- 18. Django錯誤:一個或多個模型沒有驗證:
- 19. 傳遞模型進行驗證
- 20. 如何在Django中一起使用CustomUser模型和OpenID進行身份驗證?
- 21. Django的執行syncdb錯誤:一個或多個模型沒有驗證
- 22. Schema可以使用它自己的模型進行驗證嗎?
- 23. 使用JAXB對模式進行驗證
- 24. 使用JavaScript進行模式驗證
- 25. 使用XSD進行XML模式驗證
- 26. 使用trax進行模式驗證
- 27. 使用DocumentBuilder對模式進行驗證
- 28. 使用PHP進行JSON模式驗證
- 29. 使用viewModel進行模型驗證不起作用
- 30. Django自定義用戶模型驗證
這是很基於意見的。我個人更喜歡使用OneToOne關係創建配置文件模型返回到基本用戶身份驗證模型。這不是唯一的辦法,但IMO是最簡單和最模塊化的。 – souldeux
@souldeux在數據廣泛的應用程序這可能會導致性能問題,因爲它涉及到連接。 –