大家好,又见面了,我是你们的朋友全栈君。
安装 pip install django-auth-ldap
主要在settings.py的配置
点击(此处)折叠或打开
- #设置后端认证函数,先进行ldap认证 后进行数据库认证
- AUTHENTICATION_BACKENDS = [
- ‘django_auth_ldap.backend.LDAPBackend’, # ldap认证
- ‘django.contrib.auth.backends.ModelBackend’, # 数据库用户认证
- ]
-
#ldap的连接基础配置AUTH_LDAP_SERVER_URI = “ldap://xxx.xxx.xxx.xxx:389” # ldap or ad 服务器地址AUTH_LDAP_BIND_DN = “CN=administrator,CN=Users,DC=test,DC=com” # 管理员的dn路径AUTH_LDAP_BIND_PASSWORD = ‘testpassword’ # 管理员密码
#搜索的域
AUTH_LDAP_USER_SEARCH = LDAPSearch(
‘ou=users,dc=example,dc=com’,
ldap.SCOPE_SUBTREE,
‘(uid=%(user)s)’,
)
#如果有多个域
AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
LDAPSearch(
‘ou=users,dc=example,dc=com’,
ldap.SCOPE_SUBTREE,
‘(uid=%(user)s)’),
LDAPSearch(
‘ou=admin,dc=example,dc=com’,
ldap.SCOPE_SUBTREE,
‘(uid=%(user)s)’,)
#django数据跟ldap字段对应关系,key为django字段,value为ldap字段AUTH_LDAP_USER_ATTR_MAP = { 'first_name': 'cn', 'last_name': 'sn', 'email': 'mail',}
AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_CACHE_TIMEOUT = 100 #ldap缓存时间
AUTH_LDAP_DENY_GROUP = ‘cn=kerrigan,ou=Group,dc=ops-coffee,dc=cn’ #拒绝这个组下的成员登录
# 设置额外属性,以下设置为 admin组内的成员登录自动在django设置超级管理员权限,在user表设置
is_superuser为True
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
‘is_superuser’:
‘cn=admin,ou=Group,dc=ops-coffee,dc=cn’,
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127157.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...