В чем разница в использовании distincted name с cn или uid при входе в LDAP?

#ldap #ldapconnection #distinguishedname #edirectory

#ldap #ldapconnection #distinctedname #edirectory

Вопрос:

Я столкнулся с проблемой использования LDAP для аутентификации логинов.

Мы используем Novell edirectory для аутентификации других приложений, таких как Jira. (Jira работает идеально).

У меня есть это приложение, которое позволяет использовать эти базовые конфигурации LDAP: введите описание изображения здесь

Моя проблема в том, что когда я пытаюсь войти в систему, он принимает мое имя пользователя XXXXXXXX и предварительно помещает его в базу поиска как uid. Поэтому он пытается войти в систему как :

uid= XXXXXXXX, ou= people,o = mycompany

Который будет работать на нашем сервере Sun LDAP, но не работает на нашем сервере Novell edirectory LDAP. edirectory работает только тогда, когда я пытаюсь войти в систему как отличительное имя :

cn = XXXXXXXX, ou= people,o = mycompany

Почему edirectory ведет себя так?

Это конфигурация, которую мы указали, или edirectory всегда использует cn в качестве отличительного имени?

Спасибо

Ответ №1:

Я полагаю, что это приложение, которое «ведет себя так», а не edirectory. Очевидно, что ваш edirectory структурирован иначе, чем ваш сервер Sun LDAP, но приложение обрабатывает их одинаково. Серверы LDAP только выполняют запросы, они не создают их. Приложение делает это.

Комментарии:

1. Хорошо, я думаю, вы говорите, что проблема связана с приложением и что каталог LDAP работает должным образом. Я задавался вопросом, была ли это конфигурация в eDirectory, которую мне нужно было исправить, или моя проблема была в приложении.

Ответ №2:

Атрибут именования зависит от человека, создающего объект. Однако по умолчанию большинство инструментов eDirectory устанавливают его как cn= . Если вы хотите, вы можете создавать объекты как uid= в вашем eDirectory. Было бы сложно преобразовать существующих пользователей.

Многие инструменты LDAP, которые делают это предположение, позволят вам указать, каким может быть атрибут именования.

Ваше приложение делает неверное предположение.

Вы можете добавить значение UID для каждого объекта, такое же, как CN, но это не поможет, поскольку в этом случае оно не является атрибутом именования.

Другими словами, если приложение выполняло запрос (uid=XXXXXXXX) , то добавление значения uid, соответствующего CN, помогло бы.

Если, однако, он выполняет привязку от имени определенного пользователя, поскольку uid=XXXXXXXX,ou=users,o=mycompany это не поможет.