2015-04-16 3 views
1

Я новичок в LDAP (AD), и мне интересно, как я могу получить всех пользователей группы, если у самих пользователей нет «члена», атрибут (который должен ссылаться на группу, я думаю)?LDAP group имеет 'member's', но члены не имеют атрибута 'memberof'

После LDAP Структура

- Users 
    - UserA (memberof=Group1) 
    - UserB (memberof=Group1,memberof=Group2) 
    - UserN ... 
- Groups 
    - Group1 (member=UserA,member=UserB) 
    - Group2 (member=UserB) 
    - GroupX ... 
- AppGroups 
    - App1 (member=UserA,member=UserB) 
    - AppX ... 

Так как я могу запросить только тех пользователей, которые являются членами группы App1 из AppGroups, если пользователи не имеют атрибуты memberof для этой группы?

Я пытаюсь добиться этого с помощью Alfresco. Запросить группы не проблема, но я не могу найти способ также синхронизировать пользователей (и только пользователей группы App1)?

Спасибо заранее!

+0

Вы уверены, что сервер LDAP реализует атрибут memberOf? Не все реализации сервера LDAP предоставляют MemberOf как атрибут. – jwilleke

+0

@jeemster yes, потому что у пользователей есть атрибут memberOf (см. Мою структуру), и они также могут быть запрошены/найдены с использованием атрибута 'memberOf' в условиях. Но у них нет атрибута memberOf для всех групп (особенно для группы, в которой я нуждался)! – Pali

ответ

1

Вы можете сформировать запрос, который запрашивает сервер для получения всех пользователей, чьи memberof атрибут содержит различающееся имя вашей группы, или, вы можете включить логику вокруг и попросить сервер, чтобы дать вам атрибут группы member , Атрибут member в группе содержит отличительные имена всех членов. Затем вы можете получить дополнительную информацию о пользователях, прочитав объекты один за другим.

Производительность, это много медленнее, но если атрибут memberof у самих пользователей, это может быть единственным вариантом для вас.

+0

Хорошо, это ответ, который я искал. Следующим вызовом для меня является построение запроса, но я обязательно поговорю с нашим системным администратором, почему эта группа отсутствует в атрибуте 'memberOf' пользователя. Спасибо, случайный гражданин! – Pali

1

Атрибут «memberOf» поддерживается memberOf overlay, если:

  • вы настроили это
  • вы изменили членство этого DN так вы установили накладку. Это не ретроспективно.
+0

Благодарим вас за информацию. Но я не системный администратор, который управляет ldap, поэтому я не знаю много о настройке. Я могу просматривать только каталоги ldap и видеть структуру, рассмотренную в моем вопросе. Так что вообще можно запросить пользователей и проверить, являются ли они членом группы 'App1'? – Pali

+0

Только в условиях, которые я описал. Если этого нет, у вас нет оснований ожидать, что атрибут 'memberOf' будет существовать. – EJP

+0

Итак, я могу проверить членство, если наложение 'memberOf' равно 1. установлено/настроено и 2. у пользователя есть атрибут memberOf, относящийся к группе, которую я хочу проверить членство? Другого пути нет, и я никогда не смогу проверить членство между 'UserA' и группой' App1' в структуре ldap в моем вопросе? – Pali

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