它是如何可能的Django的默认管理LDAP服务器,而不是默认的数据库上进行身份验证?我找到了包Django Auth LDAP但没有任何关于配置它被管理员登录使用。我试过在LDAP配置之外的settings.py中放置下面的行:
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
但它不起作用。如果我删除最后一行,它不会在LDAP上进行身份验证,并显示默认身份验证错误,因为ModelBackend是后备。我试图复制和修改在documentation列出的CONFIGS和我得到的控制台此错误:
Caught LDAPError while authenticating karlisson: INVALID_DN_SYNTAX({'info': 'invalid DN', 'desc': 'Invalid DN syntax'},)
我的settings.py:
AUTH_LDAP_SERVER_URI = "ldap://192.168.0.2"
AUTH_LDAP_BIND_DN = "example_nt"
AUTH_LDAP_BIND_PASSWORD = "example"
AUTH_LDAP_USER_SEARCH = LDAPSearch("cn=admin,dc=example_nt,dc=com,dc=br",
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
不知道哪里是语法错误,LDAP初学者。