Запрос фильтра группы Ldap для исключения вложенной группы в списке участников

Я хочу написать групповой фильтр ldap, где я хочу вытащить все groups и их members, но исключить nested group member в пределах указанного OU. Это устранит вероятность циклической группы.

Например, группа A содержит следующий элемент:

  1. пользователь 1
  2. пользователь 2
  3. Группа 1

В запросе мне нужна только группа A с пользователем 1 и пользователем 2.

Пример фильтра (&(objectClass=Group)(member=*)), но я не знаю, какие параметры я могу использовать в фильтре участников.


person Amit84    schedule 10.05.2017    source источник


Ответы (1)


Если вы хотите получить членов определенной группы, вы должны использовать фильтр, например (&(objectClass=groupOfNames)(cn=rdn-of-the-very-group)), и включить member в список атрибутов для извлечения. Без дополнительной помощи расширенного управления поиском вы получите только прямых участников, так что не беспокойтесь о членах вложенных групп. Чтобы исключить из результатов поиска вложенные группы, включите objectClass в список атрибутов. Однако вам придется фильтровать на стороне клиента.

person marabu    schedule 10.05.2017
comment
Спасибо за предложение. Я использую инструмент IDM, где мы извлекаем записи из AD. В соответствии с моим требованием нам нужно получить всю группу и члена этой группы (исключая группу как члена). У меня есть только возможность поместить критерии фильтра в поисковый фильтр ldap. Я не могу указать имя отдельной группы в условиях фильтра. Есть ли способ написать общие критерии фильтра? - person Amit84; 10.05.2017
comment
Итак, почему бы вам просто не использовать (&(objectClass=user)(memberOf=*))? - person marabu; 10.05.2017