Django开发文档-域用户集成登录
项目概述: 一般在企业中,用户以WINDOWS的域用户统一的管理,所以以Django快速开发的应用,不得不集成AD域登录。 网上一般采用django-python3-ldap的库来做集成登录,但是本方案中需要同时使用域用户登录以及站点用户登录的功能。所以我们直接改写django的ModelBackend类以及User类来实现。 实现功能 : User表中增加一个 是否是域用户的字段,如果登录用户是域用户则采用ldap认证,如果不是域用户还采用Django本身的验证。 实现分析: 一、User表中如何增加字段 Django的auth_user表的字段是由django.contrib.auth.models中的User类控制的。 # Django源码 class User(AbstractUser): """ Users within the Django authentication system are represented by this model. Username and password are required. Other fields are optional. """ class Meta(AbstractUser.Meta): swappable = ' AUTH_USER_MODEL ' 我们需要对User类进行改写来实现增加字段的功能 步骤一