Как составить базовую строку ldap для неизвестной иерархии - PullRequest
0 голосов
/ 15 октября 2018

У меня есть активный каталог, который выглядит примерно так:

gdcmpny.com
    |__GoodCompany
       |
       |__NYC
       |  |__Users
       |
       |__SF
          |__Users

Когда пользователь отправляет мне свое имя пользователя и пароль, я не могу знать, находится ли он под NYC / Users или SF / Users.Есть ли способ составить строку, подобную этой:

CN=Users,OU=%s,OU=GoodCompany,DC=gdcmpny,DC=com

, чтобы запрос ldap выглядел как в NYC / Users, так и в SF / Users?Или я должен указать точный абсолютный путь?
Я использую Go для отправки запроса с пакетом github.com/jtblin/go-ldap-client.
Thanks!

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Вам не нужно использовать полностью определенное DN для привязок LDAP к серверу Active Directory.Вы можете использовать значения sAMAccountName и userPrincipalName для аутентификации в AD LDAP ... при условии, что у вас есть одно дерево в одном лесу, они формируются путем объединения предоставленного пользователем идентификатора входа со строкой.

Для домена AD gdcmpny.com с устаревшим доменным именем GDCMPNY пользователь с идентификатором входа MyUserName имеет userPrincipalName MyUserName@gdcmpny.com и sAMAccountName из GDCMPNY \ MyUserName * 1006независимо от того, где их идентификатор находится в структуре каталогов.

В тех случаях, когда у вас есть несколько доменов в лесу и вы не можете просто знать правильную строку для добавления к идентификатору пользователя, вы можете связать с известными системными учетными данными, выполнить поискпредоставленный пользователем идентификатор входа в систему и возврат полного квалифицированного DN (FQDN) соответствующей записи.Затем используйте полное доменное имя с предоставленным пользователем паролем для проверки учетных данных пользователя.

0 голосов
/ 16 октября 2018

форматирование строки, например:

CN=Users,OU=%s,OU=Goenter code hereodCompany,DC=gdcmpny,DC=com

не поддерживается, но я просто не могу указать всю иерархию в моем запросе.
Это то, что сработало для меня:

OU=GoodCompany,DC=gdcmpny,DC=com
0 голосов
/ 15 октября 2018

К сожалению, не в Microsoft Active Directory.

Существует вещь, называемая ExtensibleMatch , но не поддерживается в Microsoft Active Directory .

-джим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...