更新
如何将Django默认管理员身份验证设置为LDAP服务器,而不是默认数据库?我已经找到了Django Auth LDAP软件包,但没有关于如何配置它用于管理员登录的信息。我尝试在settings.py文件中添加以下行,除了LDAP配置之外:
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
但是它不起作用。如果我删除最后一行,它就不能在LDAP上进行身份验证,并显示默认的auth错误,因为ModelBackend是一个后备。我尝试复制和修改文档中列出的配置,并在控制台上收到此错误:
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初学者。