2016-04-15 6 views
0

Из выдающегося имени я пытаюсь получить запись пользователя Active Directory с помощью LDAP. Вот запрос, который я отправляю ...Запрос LDAP для возврата пользователя

(&(objectCategory=person)(objectClass=user)(CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL)) 

Однако, это не дает результатов.

Если я использую ...

(&(objectCategory=person)(objectClass=user)(CN=George Hutchins)) 

я получаю запись вернулся. Я бы просто использовал последний запрос, но если есть два Джорджа Хатчинса, то я получу 2 записи вместо того, что я ищу.

Есть ли способ запроса, чтобы получить точного пользователя с выдающимся именем (CN = George Hutchins, OU = Contractors, DC = MYCO, DC = LOCAL)? Кстати, я знаю, что эта строка верна, поскольку я вытащил ее из записи группы (свойство участника) в Active Directory.

+0

Если есть два Джорджа Хатченса, и они оба подрядчики, это все равно не спасет вас. Вы должны убедиться, что записи уникальны независимо от позиции в DIT. Это означает использование чего-то уникального для пользователя для поиска, такого как UID, его электронная почта, «экранное имя» и т. Д. – EJP

ответ

1

Полностью отличное имя ВСЕГДА будет уникальным в пределах LDAP.

Простой запрос, как похожие на:

(&(objectCategory=person)(objectClass=user)) 

и устанавливая базу поиска для:

(CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL) 

с поиском Объемом: BASE (0) в пределах вашего Search Request должен работать.

-Джим

1

Можно специально запрос, используя атрибут distinguishedName:

(distinguishedName=CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL)

Причина исходный запрос не работает из-за этой части: (CN=George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL). То, что запрашивает AD, - это объекты LDAP, которые имеют атрибут CN со значением George Hutchins,OU=Contractors,DC=MYCO,DC=LOCAL. Тем не менее, CN для него будет только George Hutchins.

Смежные вопросы