如何在 liferay 6.2 CE 中创建一个 UserModelListener,它捕获仅​​在控制面板-> 用户组织中更新的用户详细信息的数据

Posted

技术标签:

【中文标题】如何在 liferay 6.2 CE 中创建一个 UserModelListener,它捕获仅​​在控制面板-> 用户组织中更新的用户详细信息的数据【英文标题】:How to create a UserModelListener in liferay 6.2 CE which captures the data of user details updated only in Control panel-> User orgnizations 【发布时间】:2020-08-04 09:31:36 【问题描述】:

我是 Liferay 的新手,我正在使用 Liferay 6.2 CE,我正在尝试在我的钩子中创建一个 ModelListener,以便在门户中更新任何用户时捕获数据。我使用下面的函数

public void onBeforeUpdate(User user) 

但是当用户登录门户网站以及将用户详细信息更新到控制面板时会触发此功能。只有在控制面板中更新用户时,我才需要上述功能来捕获数据。

【问题讨论】:

【参考方案1】:

关于用户登录时的用户更新是因为Liferay更新了用户表中的登录日期。

您可以禁用该功能,将 users.update.last.login=false 添加到您的 portal-ext.properties(更多信息请参阅:https://docs.liferay.com/portal/6.2/propertiesdoc/portal.properties.html#Users)

如果您不想禁用该功能,也许您可​​以从数据库中查询用户并将其与作为参数接收的新用户对象进行比较:

如果参数和数据库中的两个用户对象具有相同的信息,但登录信息除外 => 您处于登录状态 如果用户对象之间存在更多差异 => 您处于控制面板案例的更新中

【讨论】:

以上是关于如何在 liferay 6.2 CE 中创建一个 UserModelListener,它捕获仅​​在控制面板-> 用户组织中更新的用户详细信息的数据的主要内容,如果未能解决你的问题,请参考以下文章

在 liferay 6.2 中自定义停靠栏

在 Liferay 7 中创建自定义标签库

如何在 Liferay 门户 6.2 中部署地理服务器战争

我们如何在 liferay7 中覆盖 liferay 模块?

在 Liferay Portlet 中创建 JSONObject 和 JSONArray

如何写一个漂亮的Liferay Theme 6.2