Получить группу LDAP в LifeRay

Мне нужно сделать Liferay-hook, когда пользователь входит в систему, проверьте в LDAP группу.

Если группа "пользователи" не делает ничего особенного, но если у нее нет группы LDAP, мне нужно перенаправить на другую страницу внутри портала Liferay.

Я знаю, как сделать перенаправление, но моя проблема заключается в следующем: Как узнать группу LDAP пользователя?

На самом деле я импортирую только группу пользователей в конфигурации LDAP Liferay, как это:

(&(uid=@screen_name@)(memberof=cn=usersr,ou=groups,o=users.com))

Любая идея?
Спасибо

1 ответ

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

eDirectory хранит членство в группах для пользователя (groupMembership в LDAP). Active Directory в более поздних версиях (я думаю, что в 2008 году) хранит memberOf в User, вроде. Он не сохраняется как статическое значение в AD, но может быть прочитан и рассчитан.

Обычно подход LDAP заключается в запросе:

(&(objectClass=group)(member=cn=MyUser,ou=MyOu,dc=com))

То есть найдите мне все группы, для которых этот пользователь является участником, а затем проверьте, возвращена ли ваша контрольная группа. Это не очень эффективно. Но будет работать.

Другие вопросы по тегам