/data/soft/Archery-1.8.2/archery/settings.py 开启ldap登陆:

具体配置如下:

# LDAP

ENABLE_LDAP = True

if ENABLE_LDAP:

import ldap

from django_auth_ldap.config import LDAPSearch



AUTHENTICATION_BACKENDS = (

'django_auth_ldap.backend.LDAPBackend', # 配置为先使用LDAP认证,如通过认证则不再使用后面的认证方式

'django.contrib.auth.backends.ModelBackend', # django系统中手动创建的用户也可使用,优先级靠后。注意这2行的顺序

)



AUTH_LDAP_SERVER_URI = "ldap://172.16.0.247:389"

#AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,ou=xxx,dc=xxx,dc=xxx"

# ldap认证的另一种方式,使用时注释AUTH_LDAP_USER_DN_TEMPLATE

AUTH_LDAP_BIND_DN = "cn=root,dc=xxxxxno,dc=com"

AUTH_LDAP_BIND_PASSWORD = "EdzDbaUser558996"

AUTH_LDAP_USER_SEARCH = LDAPSearch('ou=People,dc=xxxxxno,dc=com',ldap.SCOPE_SUBTREE, '(uid=%(user)s)',)



AUTH_LDAP_ALWAYS_UPDATE_USER = True # 每次登录从ldap同步用户信息

AUTH_LDAP_USER_ATTR_MAP = { # key为archery.sql_users字段名,value为ldap中字段名,用户同步信息

"username": "cn",

"display": "displayname",

"email": "mail"

}

重启archery服务:

(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl stop archery
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl start archery
(venv4archery) [root@tidb05 Archery-1.8.2]# supervisorctl status archery
archery RUNNING pid 10551, uptime 0:05:45

登陆验证:

Archery之ldap认证登陆_字段名

Archery之ldap认证登陆_登陆验证_02