Active directory 与Liferay进行广告同步

Active directory 与Liferay进行广告同步,active-directory,ldap,liferay,portlet,portal,Active Directory,Ldap,Liferay,Portlet,Portal,我们有一个在Liferay上托管的门户,一个Active Directory通过LDAP与Liferay同步。我们面临的问题是,当用户从广告中删除时,它既不会被停用,也不会从Liferay中删除。我希望在从广告中删除用户时,该用户处于停用状态,而不是从Liferay中删除 尽管Liferay强烈反对在从广告中删除用户时停用/删除该用户,因为可能存在对其他用户、网站或组织的依赖关系或可能导致的意外行为 我检查了与Liferay进行广告同步所需的所有必填字段。由于声誉下降,我无法上传截图 如何达到上

我们有一个在Liferay上托管的门户,一个Active Directory通过LDAP与Liferay同步。我们面临的问题是,当用户从广告中删除时,它既不会被停用,也不会从Liferay中删除。我希望在从广告中删除用户时,该用户处于停用状态,而不是从Liferay中删除

尽管Liferay强烈反对在从广告中删除用户时停用/删除该用户,因为可能存在对其他用户、网站或组织的依赖关系或可能导致的意外行为

我检查了与Liferay进行广告同步所需的所有必填字段。由于声誉下降,我无法上传截图

如何达到上述要求

请提出可能的方法


谢谢您

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

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

如果出于某种原因,这确实是强制性的,那么您可以在以后尝试登录时停用它们,或者根据LDAP批量导入/验证所有用户

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


但关键是:被删除的LDAP用户不应该能够登录到Liferay-当他们登录时,Liferay将导入他们的所有数据,这是不起作用的。当Liferay无法验证其密码时,他们无法在没有LDAP的情况下登录,因此您不应该面临任何实际问题

为了自定义Liferay的此类默认行为,您需要通过扩展PortalDapImporterImpl.java创建插件ext

以下链接将帮助您-

你好,奥拉夫,谢谢你的回复。请看,实际的问题是,如果用户从LDAP中删除,它将保留在liferay中,这是我们不希望看到的。当我们使用内部网门户时,每个用户都有一个自定义配置文件,任何用户都可以导航到所需的配置文件。假设一个用户导航到从广告中删除的另一个用户的个人资料,但该个人资料显示在此处,并且前者可以在其墙上书写(自定义portlet),等等。我们不希望用户被访问,并且只有在用户被停用的情况下才能访问该用户,如果他被停用,他将不会显示在列表中。在这种情况下,我的建议是上面的中间段:不时实施批量导入/验证-例如,使用API枚举所有用户,验证他们在LDAP中处于活动状态-否则停用他们。