我需要做一个 Liferay-hook,当用户登录时,检查组的 LDAP。
如果该组是“用户”,则什么也不做,但如果没有任何 LDAP 组,我需要重定向到 Liferay 门户内的其他页面。
我知道如何进行重定向,但我的问题是:如何知道用户的 LDAP 组?
实际上,我只在 liferay LDAP 配置中导入用户组,如下所示:
(&(uid=@screen_name@)(memberof=cn=usersr,ou=groups,o=users.com))
任何想法?
谢谢
我需要做一个 Liferay-hook,当用户登录时,检查组的 LDAP。
如果该组是“用户”,则什么也不做,但如果没有任何 LDAP 组,我需要重定向到 Liferay 门户内的其他页面。
我知道如何进行重定向,但我的问题是:如何知道用户的 LDAP 组?
实际上,我只在 liferay LDAP 配置中导入用户组,如下所示:
(&(uid=@screen_name@)(memberof=cn=usersr,ou=groups,o=users.com))
任何想法?
谢谢
您将遇到的问题是 LDAP 目录在存储用户的组成员身份方面有些不一致。
eDirectory 存储用户的组成员身份(LDAP 中的 groupMembership)。更高版本(我认为是 2008 年)中的 Active Directory 将 memberOf 存储在用户上,有点像。它不是作为静态值存储在 AD 中,而是可以读取和计算。
通常,LDAP 方法是查询:
(&(objectClass=group)(member=cn=MyUser,ou=MyOu,dc=com))
也就是说,去找我所有的组,这个用户是其中的成员,然后检查你的控制组是否被返回。这不是很有效。但会工作。