UID аутентификации OpenLDAP против проблем CN

У меня проблемы с аутентификацией сервисов с использованием uid для аутентификации, который я считал стандартным методом аутентификации для пользователя. В общем, мои пользователи добавляются в ldap следующим образом:

# jsmith, Users, example.com
dn: uid=jsmith,ou=Users,dc=example,dc=com
uidNumber: 10003
loginShell: /bin/bash
sn: Smith
mail: jsmith@example.com
homeDirectory: /home/jsmith
displayName: John Smith
givenName: John
uid: jsmith
gecos: John Smith
gidNumber: 10000
cn: John Smith
title: System Administrator

Но когда я пытаюсь пройти аутентификацию, используя типичные веб-приложения или сервисы, подобные этому:

jsmith
password

Я получил:

ldapsearch -x -h ldap.example.com -D "cn=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"
Enter LDAP Password:
ldap_bind: Invalid credentials (49)

Но если я использую:

ldapsearch -x -h ldap.example.com -D "uid=jsmith,ou=Users,dc=example,dc=com" -W -b "dc=example,dc=com"

Оно работает.

ОДНАКО... большинство веб-приложений и методов аутентификации используют другой метод. Так что в веб-приложении, которое я использую, если я не укажу пользователя как: uid=smith,ou=users,dc=example,dc=comНичего не работает

В веб-приложении мне просто нужно, чтобы пользователи добавили: jsmith в поле пользователя.

Имейте в виду, мой LDAP использует "новый" cn=config способ хранения настроек. Так что, если у кого-то есть очевидный ldif, я скучаю, пожалуйста, предоставьте.

Дайте мне знать, если вам нужна дополнительная информация. Это OpenLDAP в Ubuntu 12.04.

1 ответ

Решение

ldapsearch Инструмент в вашем примере использует простую BIND для изменения состояния авторизации соединения. Простая операция BIND требует отличительного имени и учетных данных. Отличительное имя uid=jsmith,ou=Users,dc=example,dc=comне cn=jsmith,ou=Users,dc=example,dc=com в записи, приведенной в качестве примера.

Эта конфигурация сервера каталогов заставляет сервер возвращать код результата для invalid credentials когда на самом деле отличительное имя cn=jsmith,ou=Users,dc=example,dc=com не существует Это рекомендуемая конфигурация: она предоставляет меньше информации злоумышленнику.

Другие вопросы по тегам