Назад | Перейти на главную страницу

Адрес электронной почты как rdn в режиме приложения Active Directory - ADAM

Можно ли использовать адрес электронной почты в качестве атрибута CN в ADAM (я не имею в виду атрибут электронной почты / почты)? У меня есть требование, которое требует ADAM для аутентификации и адреса электронной почты пользователя в качестве CN (например, CN=jsmith@yahoo.com и CN=mary@gmail.com). Кажется странным иметь символ «@» в свойстве CN, но я проверил его, и аутентификация работает нормально. Я не могу найти в Интернете ничего, чтобы предложить, чтобы адрес электронной почты не использовался в качестве CN, за исключением того, что ADAM CN не может содержать более 64 символов, что в редких случаях может быть проблемой. Кроме того, браузер Softerra LDAP не позволяет мне добавлять UPN с несколькими символами «@», хотя этот проект не включает UPN в область действия. Перед тем, как спустить курок, проверьте его вменяемость. Спасибо, Джим

Я бы не советовал этого. Атрибут, используемый для привязки, - это RDN. Если вы посмотрите свой объектный класс в схеме LDS, вы обнаружите, что cn - это RDN (отображаемое имя атрибута rDNAttID).

IIRC единственный способ изменить RDN - установить его на то, что вы хотите, при импорте схемы.

Это оставляет вам два варианта:

  1. Создайте новый объектный класс, который имеет почту в качестве RDN, и добавьте этот объектный класс своим пользователям.
  2. Сделайте поиск и привязку

Понятия не имею, сработает ли вариант №1.

Вариант №2 - это то, как я всегда это делаю. Ваше приложение будет:

  1. Найдите пользователя по атрибуту (убедитесь, что он индексированный)
  2. Если совпадений несколько, отказать в аутентификации.
  3. Если есть только одно совпадение, используйте distinguishedName найденного вами объекта и предоставленного пароля для привязки.

+ Ограничения, налагаемые Softerra, не указаны в AD-LDS. Вы можете создать пользователя с именем @@@@@@@@@ легко с LDP (простите за французский):

Дает следующий результат:

-----------
***Calling Add...
ldap_add_s(ld, "cn=@@@@@@@@@,OU=stuff,DC=example,DC=com", [2] attrs)
Added {cn=@@@@@@@@@,OU=stuff,DC=example,DC=com }.
-----------