更新しました
デフォルトのデータベースではなく LDAP サーバーで Django のデフォルトの管理者認証を行うにはどうすればよいですか? パッケージDjango Auth LDAPを見つけましたが、管理者ログインで使用するように構成することについては何もありません。LDAP構成に加えて、settings.py内に以下の行を入れてみました:
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
しかし、うまくいきません。最後の行を削除すると、LDAP で認証されず、デフォルトの認証エラーが表示されます。これは、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 初心者。