Аутентификация Django LDAP CONNECT_ERRORPython

Программы на Python
Anonymous
Аутентификация Django LDAP CONNECT_ERROR

Сообщение Anonymous »

Я пытался подключить свое приложение к серверу LDAP и уже около недели безуспешно.
Вот мои конфигурации settings.py:

Код: Выделить всё

AUTH_LDAP_SERVER_URI = 'ldap://10.xx.xx.1:389'
AUTH_LDAP_BIND_DN = 'cn=djangouser,ou=django,ou=groups,dc=xx,dc=xx'
AUTH_LDAP_BIND_PASSWORD = 'xx'

AUTH_LDAP_USER_SEARCH = LDAPSearch(
"dc=xx,dc=xx", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"
)

AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
'dc=xx,dc=xx',
ldap.SCOPE_SUBTREE,
'(objectClass=groupOfNames)'
)

AUTH_LDAP_GROUP_TYPE = PosixGroupType(name_attr="cn")

AUTH_LDAP_MIRROR_GROUPS = True

AUTH_LDAP_USER_ATTR_MAP = {
'first_name': 'givenName',
'last_name': 'sn',
'email': 'mail',
'username': 'sAMAccountName',
'password': 'userPassword',
}

AUTH_LDAP_PROFILE_ATTR_MAP = {
'home_directory': 'homeDirectory'
}

AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_FIND_GROUP_PERMS = True
AUTH_LDAP_CACHE_TIMEOUT = 3600

AUTH_LDAP_START_TLS = True

AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)

import logging

logger = logging.getLogger('django_auth_ldap')
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
Стоит отметить, что я пробовал:

Код: Выделить всё

AUTH_LDAP_USER_DN_TEMPLATE = "sAMAccountName=%(user)s,dc=xx,dc=xx"
И я также пытался упомянуть подразделение, например:

Код: Выделить всё

AUTH_LDAP_USER_SEARCH = LDAPSearch(
"ou=store,dc=redesejus,dc=local", ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"
)

AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
'ou=store,dc=redesejus,dc=local',
ldap.SCOPE_SUBTREE,
'(objectClass=groupOfNames)'
)
Во всех случаях при попытке подключения через панель администратора django я получаю следующую ошибку:

Код: Выделить всё

Caught LDAPError while authenticating xx: CONNECT_ERROR({'result': -11, 'desc': 'Connect error', 'ctrls': [], 'info': '(unknown error code)'})
"POST /admin/login/?next=/admin/ HTTP/1.1"
Мой AD — это сервер Windows, и вот его структура:

Код: Выделить всё

GROUPS ->
DJANGO ->
DJANGOUSER

STORE ->
GVIX   ->
USERS
NORTH  ->
USERS
SOUTH  ->
USERS
Также стоит упомянуть, что я проверил привязку и соединение, и все в порядке.

Подробнее здесь: https://stackoverflow.com/questions/786 ... nect-error

Вернуться в «Python»