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异常