Django如何配置Windows AD域进行账号认证
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Django如何配置Windows AD域进行账号认证,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们使用Django开发网站后台是,
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
深圳融汇网络技术有限责任公司
同步服务器时钟
表格匹配填充数据库
上海图书馆 数据库
联合审查网络安全吗
万方数据库引文核心
大数据人工智能和网络安全
寒假网络安全教育
细胞凋亡基因数据库
软件开发人员外包公司北京
数据库如何备份还原
易迅软件开发工作室
软件开发业务有什么用
从液晶型usbkey服务器
广东中高互联网络科技
软件开发传统模型有什么区别
wordpress 服务器
工会服务器如何返回离线玩家数据
数据库的是
dms数据库
操戈天下安全卫服务器
大专计算机网络技术好找工作吗
泰拉瑞亚加入旧服务器
阿里巴巴网络技术部地址
驱动总裁读取服务器数据
cs1.6搭建服务器
垫江网络安全办公室电话
翼支付网络安全知识
数据库日期计算两个函数
win服务器怎么截图