我正在尝试使用 django-auth-ldap 包针对我们的 LDAP 构建用户身份验证。
设置.py
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
# Baseline configuration.
AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"
AUTH_LDAP_BIND_DN = "cn=ldap_user,ou=PEOPLE, dc=example,dc=com"
AUTH_LDAP_BIND_PASSWORD = "test123"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=PEOPLE,dc=example,dc=com",
ldap.SCOPE_SUBTREE, "(cn=%(user)s)")
# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
上述配置仅适用于 AUTH_LDAP_BIND_DN 用户(即 ldap_user),但如果我使用其他名称登录,身份验证将失败。
并检查我所有的用户都在 PEOPLE 组中。
为什么此配置仅适用于一个用户?