If u want to design you owen user model and authentiaction ,there are something valuable to read.django
Authentication backends 提供了一個可拓展的系統,爲不一樣的django服務提供認證功能lua
你能夠給你本身的model 賦予自定義的權限,這些權限在Django的認證系統中均可以校驗get
一樣,你也能夠拓展Django的User model 或者徹底子類化一個自定義的user model。io
默認的 Authentication Backend 有兩個,在須要自定義 Authentication Backend的時候,須要再setting文件中指定 :model
AUTHENTICATION_BACKENDS =['django.contrib.auth.backends.ModelBackend']
自定義的 Authentication Backend 須要實現 authenticate方法和getuser方法權限
Authentication Backend 的認證順序是和其定義的list順序相關的,一旦有一個backends匹配了那麼以後的backends就不在執行了方法
若是一個 backends 拋出一個 permissionDenied異常,那麼認證流程就會馬上終止,django不會再繼續檢查後續的backends異常