Django如何配置Windows AD域进行账号认证
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Django如何配置Windows AD域进行账号认证,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们使用Django开发网站后台是,
千家信息网最后更新 2026年11月03日Django如何配置Windows AD域进行账号认证
Django如何配置Windows AD域进行账号认证,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
我们使用Django开发网站后台是,会有账号密码认证登录的需求,一般公司内部会使用Windows 的AD 或者Linux下的OpenLDAP进行账号密码认证。以下为Django使用Windows AD进行账号认证的配置,代码全部配置在Django的setting.py 文件中。
代码如下:
1#Django-auth-ldap 配置部分 此部分代码配置在django的settings.py里
2import ldap
3from django_auth_ldap.config import LDAPSearch,GroupOfNamesType
4
5#修改Django认证先走ldap,再走本地认证
6AUTHENTICATION_BACKENDS = [
7 'django_auth_ldap.backend.LDAPBackend',
8 'django.contrib.auth.backends.ModelBackend',
9]
10
11#ldap的连接基础配置
12AUTH_LDAP_SERVER_URI = "ldap://192.168.146.21:389"
13AUTH_LDAP_BIND_DN = "CN=administrator,CN=Users,DC=test,DC=com"
14AUTH_LDAP_BIND_PASSWORD = 'testpassword'
15
16#允许认证用户的路径
17# AUTH_LDAP_USER_SEARCH = LDAPSearch("OU=test,DC=test,DC=com", ldap.SCOPE_SUBTREE, "(&(objectClass=person)(sAMAccountName=%(user)s))")
18AUTH_LDAP_USER_SEARCH = LDAPSearch("OU=test,DC=test,DC=intra",
19 ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)")
20
21#通过组进行权限控制
22AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=groups,ou=test,dc=test,dc=intra",
23 ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
24)
25
26AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
27
28#is_staff:这个组里的成员可以登录;is_superuser:组成员是django admin的超级管理员;is_active:组成员可以登录django admin后天,无权限
29AUTH_LDAP_USER_FLAGS_BY_GROUP = {
30 "is_staff": "cn=test_users,ou=groups,OU=test,DC=test,DC=com",
31 "is_superuser": "cn=test_users,ou=groups,OU=tset,DC=test,DC=com",
32}
33#通过组进行权限控制end
34
35#如果ldap服务器是Windows的AD,需要配置上如下选项
36AUTH_LDAP_CONNECTION_OPTIONS = {
37 ldap.OPT_DEBUG_LEVEL: 1,
38 ldap.OPT_REFERRALS: 0,
39}
40
41#当ldap用户登录时,从ldap的用户属性对应写到django的user数据库,键为django的属性,值为ldap用户的属性
42AUTH_LDAP_USER_ATTR_MAP = {
43 "first_name": "givenName",
44 "last_name": "sn",
45 "email": "mail"
46}
47
48#如果为True,每次组成员都从ldap重新获取,保证组成员的实时性;反之会对组成员进行缓存,提升性能,但是降低实时性
49# AUTH_LDAP_FIND_GROUP_PERMS = True
配置完成后,用户通过admin后台登录时,如果域用户不在指定的group中时,会提示登录失败,但是在auth_user用户表中,会有这个用户的属性,配置了superuser的可以登录后台,代码中配置的默认账号,可以直接登录admin后天,以管理员的身份登录。
看完上述内容,你们掌握Django如何配置Windows AD域进行账号认证的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
配置
登录
认证
用户
账号
组成员
代码
属性
后台
权限
内容
实时
实时性
密码
方法
更多
管理员
部分
问题
控制
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
百单网互联网科技有限公司怎么样
华服互联网科技怎么样
云之行互联网科技
A股互联网金融科技公司
互联网和科技创新
奇酷互联网科技
撒么互联网科技公司
互联网科技公司名称
银川新华互联网科技职业技术培训学校图片
科技互联网大厂
搜狐科技互联网
互联网公司黑科技创始人
科技互联网的核心竞争力
马化腾互联网科技教学
互联网金融金融科技
10位科技互联网大佬
承德科技产业互联网平台
恒生互联网科技趋势
瑞安市蟠桃会互联网科技有限公司
互联网是不是新科技
有马互联网科技
致聘互联网科技
广州互联网络科技有限公司
长亮科技互联网金融
国大互联网教育科技有限公司工作
企晟互联网信息科技有限公司
徐州市互联网科技有限公司
互联网科技包装股
广西科技产业互联网是什么