AD与Liferay同步

时间:2013-10-18 07:27:33

标签: active-directory ldap liferay portlet portal

我们在Liferay上有一个托管在我们身边的门户,并且Active Directory通过LDAP与Liferay同步。我们面临的问题是,当用户从AD中删除时,它既不会被停用也不会从Liferay中删除。我希望在从AD中删除时,不会从Liferay中删除用户。

虽然Liferay强烈反对在用户从AD中删除时停用/删除用户,因为可能存在对其他用户,网站或组织的依赖或可能导致的意外行为。

我检查了与Liferay进行AD同步所需的所有必填字段。由于声誉较低,我无法上传屏幕截图。

我如何达到上述要求?

请建议可行的方法。

谢谢

2 个答案:

答案 0 :(得分:2)

当您与LDAP接口时,您不应该依赖Liferay来告诉您用户是否已停用 - 例如只需在LDAP中查找用户的存在,以确定帐户是否有效。

我的建议是要求那些用户使用LDAP而不是将他们的密码保存在Liferay的数据库中 - 因此,无论用户是激活还是停用,他们都无法登录Liferay,因为Liferay会使用LDAP对其进行身份验证(会失败)

如果这是 - 出于某种原因 - 确实是强制性的,您可以在后续尝试登录时停用它们,也可以不时批量导入/验证所有用户对LDAP。

另一种可能性取决于您维护LDAP数据库的方式 - 您还可以使用LDAP维护软件中的Liferay API从AD中删除用户时停用用户。

但关键是:已删除的LDAP用户无法登录Liferay - 当他们登录时,Liferay会导入所有数据,但这些数据无效。当Liferay无法验证他们的密码时,他们无法在没有LDAP的情况下登录,因此您不应该遇到任何实际问题

答案 1 :(得分:1)

为了自定义Liferay的这种默认行为,您需要通过扩展PortalLDAPImporterImpl.java 来创建插件ext。

以下链接可以帮助您 - http://www.liferay.com/community/forums/-/message_boards/message/10755176