/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
登陆验证: