在liferay中获取LDAP组

在liferay中获取LDAP组,ldap,liferay,liferay-6,ldapconnection,Ldap,Liferay,Liferay 6,Ldapconnection,我需要制作一个Liferay钩子,当用户登录时,为组签入LDAP 如果组是“用户”,则不做任何特殊操作,但如果没有任何LDAP组,则需要重定向到Liferay门户内的其他页面 我知道如何重定向,但我的问题是:如何知道用户的LDAP组 实际上,我只导入liferay LDAP配置中的users组,如下所示: (&(uid=@screen_name@)(memberof=cn=usersr,ou=groups,o=users.com)) 有什么想法吗? 谢谢您将遇到的问题是,LDAP目录在

我需要制作一个Liferay钩子,当用户登录时,为组签入LDAP

如果组是“用户”,则不做任何特殊操作,但如果没有任何LDAP组,则需要重定向到Liferay门户内的其他页面

我知道如何重定向,但我的问题是:如何知道用户的LDAP组

实际上,我只导入liferay LDAP配置中的users组,如下所示:

(&(uid=@screen_name@)(memberof=cn=usersr,ou=groups,o=users.com))
有什么想法吗?

谢谢

您将遇到的问题是,LDAP目录在用户上存储组成员身份时有些不一致

eDirectory存储用户的组成员身份(LDAP中的groupMembership)。 在更高版本(我想是2008年)中,ActiveDirectory会在用户上存储memberOf。 它不是作为静态值存储在AD中,而是可以读取和计算

通常,LDAP方法用于查询:

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

也就是说,找到此用户是其成员的所有组,然后检查是否返回了您的控制组。这不是很有效。但是会起作用。

通常,LDAP组与Liferay用户组同步,因此您可以使用Liferay API检查用户的用户组。是否有任何理由专门扫描LDAP组?