Django如何配置Windows AD域进行账号认证
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Django如何配置Windows AD域进行账号认证,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们使用Django开发网站后台是,
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
公安加强网络安全管理工作
河南火星网络技术有限公司
如东无忧网络技术排名靠前
四川大学网络安全学院教授
网络安全法坚持什么原则
w服务器账号
哪些产品需要运动控制软件开发
软件开发过程设计的危险源
服务器管理工具哪家好
未来网络技术专业前景
我的世界云服务器管理
微信云服务器网址是什么
软件开发工程师需要看什么书
信息技术软件开发规定
青岛天才网络技术有限公司
管理软件开发收费情况
为什么数据库导入excel失败
sql命令完成数据库的维护
cdh 时序数据库
阿里云cdn网络技术专家
数据库如何学习
用户数据库使用教程
大连IBM软件开发怎么样
铜陵IOS软件开发招聘
股票期货 交易软件开发
淄博市网络安全知识
南亚内存现代服务器内存
弹性公网ip便宜服务器
我的世界理想乡服务器推荐
sql命令完成数据库的维护