У меня есть приложение Flask, которое я пытаюсь подключить к своему серверу LDAP ( OpenLDAP ), используя пакет flask -ldap3-login , но Кажется, я не могу правильно привязать соединение.
Мои переменные окружения установлены на:
LDAP_HOST = 'openldap'
LDAP_BASE_DN = 'dc=example,dc=org'
LDAP_BIND_USER_DN = 'cn=admin,dc=example,dc=org'
LDAP_BIND_USER_PASSWORD = 'admin'
LDAP_USER_DN = 'ou=users'
LDAP_USER_RDN_ATTR = 'cn'
LDAP_USER_LOGIN_ATTR = 'cn'
Когда я go аутентифицируюсь с result = ldap_manager.authenticate(username, password)
, я получаю ответ говорит:
LDAPInvalidDNSyntaxResult - 34 - invalidDNSyntax - None - invalid DN - bindResponse - None
и, следовательно, результат:
{'user_info': (None,), 'user_id': (None,), 'user_dn': (None,), 'user_groups': [], 'status': <AuthenticationResponseStatus.fail: 1>}
Вот моя структура LDAP:

А вот пример DN пользователя: 
Если я пытаюсь подключиться с помощью команды ldapsearch
, я получаю правильный ответ:
# ldapsearch -x -b "ou=users,dc=example,dc=org" -H "ldap://openldap" -D "cn=admin,dc=example,dc=org" -W
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <ou=users,dc=example,dc=org> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# users, example.org
dn: ou=users,dc=example,dc=org
ou: users
objectClass: organizationalUnit
objectClass: top
# gramsay, users, example.org
dn: cn=gramsay,ou=users,dc=example,dc=org
givenName: Gordon
sn: Ramsay
cn: gramsay
uid: gramsay
userPassword:: <password>
uidNumber: 1000
gidNumber: 500
homeDirectory: /home/users/gramsay
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
# iausers, users, example.org
dn: cn=iausers,ou=users,dc=example,dc=org
cn: iausers
gidNumber: 500
objectClass: posixGroup
objectClass: top
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3
Что-то не так с тем, как я подключаюсь, или, возможно, со структурой на моем сервере LDAP?