我们在Liferay上托管了一个门户,Active Directory通过LDAP与Liferay同步。我们面临的问题是,当用户从AD中删除时,它既不会被停用,也不会从Liferay中删除。我希望用户被停用,而不是从Liferay删除时从AD删除。
尽管Liferay强烈反对在用户从AD中删除时禁用/删除用户,因为可能会导致对其他用户、站点或组织的依赖或意外行为。
我检查了所有必需的字段,这是AD与Liferay同步所必需的。由于声誉较低,我无法上传截图。
如何才能达到上述要求?
请提出可能的方法。
谢谢
发布于 2013-10-24 06:17:58
为了自定义Liferay的这种默认行为,您需要通过扩展PortalLDAPImporterImpl.java创建一个插件ext。
下面的链接将帮助您- boards/message/10755176
发布于 2013-10-19 14:41:54
当您与LDAP接口时,您不应该依赖Liferay来告诉您某个用户是否已被停用--例如,只需查找LDAP中某个用户的存在情况,以确定某个帐户是否有效。
我的建议是,这些用户需要LDAP,而不是将他们的密码保存在Liferay的数据库中-因此,无论用户被激活还是被禁用,他们都无法登录到Liferay,因为Liferay将使用LDAP对他们进行身份验证(这将失败)。
如果出于某种原因,这是强制性的,您可以在随后尝试登录时禁用它们,或者不时根据LDAP对所有用户进行批量导入/验证。
还有一种可能性取决于您维护LDAP数据库的方式--您还可以使用LDAP维护软件中的Liferay的API来从AD中删除用户。
但关键是:被删除的LDAP用户不应该能够登录到Liferay --当他们登录Liferay时,将导入他们所有的数据,这是行不通的。当Liferay无法验证他们的密码时,他们无法在没有LDAP的情况下登录,因此您不应该面临任何实际问题。
https://stackoverflow.com/questions/19443959
复制相似问题