Я пытаюсь аутентифицировать пользователя с сервером LDAP в django.Django-Ldap-Authentication
Я настроил мой settings.py следующим образом:
AUTH_LDAP_SERVER_URI = "ldap.forumsys.com"
AUTH_LDAP_BIND_DN = "cn=read-only-admin,dc=example,dc=com"
AUTH_LDAP_BIND_PASSWORD = "password"
AUTH_LDAP_USER_SEARCH = LDAPSearch("dc=example,dc=com",
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
AUTH_LDAP_START_TLS = True
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
В моих взглядах я пытался проверить подлинность его с LDAPBACKEND
from django.http import HttpResponse
from django_auth_ldap.backend import LDAPBackend
from django.contrib.auth.models import User
from django.conf import settings
def login_user(request):
state = ""
username = settings.AUTH_LDAP_BIND_DN
password = settings.AUTH_LDAP_BIND_PASSWORD
auth = LDAPBackend()
try:
User = auth.authenticate(username=username,password=password)
if User is not None:
state = "Valid"
else:
state = "Invalid"
except LDAPError as e:
state = "Error"
return HttpResponse(state)
Но я получаю сообщение об ошибке, как
LDAPError при аутентификации cn = read-only-admin, dc = example, dc = com: LDAPError (0, 'Error')
И у меня есть еще одно сомнение. Являются ли username
и password
такими же как bind_username
и bind_password
?
Это также не: /. Теперь я получаю сообщение об ошибке SERVER_DOWN ({«desc»: «Не удается связаться с сервером LDAP»},) –
Тогда я думаю, что ваши настройки неверны. Вы пытались получить доступ с помощью ldap-инструмента для подключения к серверу? Также добавьте порт в URL-адрес, например 'AUTH_LDAP_SERVER_URI = 'ldap: //ldap.forumsys.com: 636" 'и проверьте, есть ли у вас tls или ldaps. – ikreb