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

Один пользователь возвращает несколько записей для запроса LDAP

После вопроса этот вопрос, У меня был запрос LDAP, который выглядел так:

(&(cn=*)(networkAddress=*)(objectClass=user))

Однако, если у пользователя несколько cns, они возвращаются несколько раз. Есть ли способ остановить это?

Поскольку CN во многих реализациях схем является многозначным и не гарантирует уникальности, общее правило заключается в использовании однозначного атрибута, который должен быть уникальным, например uid.

В Active Directory для одного домена вы можете полагаться на sAMAccountName, но не в том случае, если в дереве / лесу более одного домена. Вы можете полагаться на userPrincipalName, который обычно имеет структуру sAMAccountName@domain.Name, но, в отличие от sAMAccountName, нет подтверждения того, что это действительно уникальное значение.

Экспериментально я заметил (хорошо, я допустил несколько опечаток), что UPN может иметь практически любое значение и при этом не применяется принудительное исполнение.

Для меня это звучит как правильный результат ...

Что произойдет, если вы воспользуетесь таким инструментом, как ldapsearch?

Я ничего не знаю о типах данных python, но не могли бы вы просто поймать вывод в объекте, а затем проверить, является ли он массивом или просто строкой. если его массив просто принимает первую запись, если его строка принимает ее напрямую.

Я имею в виду, как я обрабатываю запросы пользователей, связанные с членством в группах, в vbscript.