Как создать UserModelListener в liferay 6.2 CE, который собирает данные о пользователях, которые обновляются только в Панели управления-> Пользовательские организации - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в Liferay, я использую Liferay 6.2 CE и пытаюсь создать ModelListener в своих хуках для сбора данных при обновлении любого пользователя на портале. Я использую нижеприведенную функцию

public void onBeforeUpdate(User user) 
{}

Но эта функция запускается, когда пользователь входит в портал, а также когда пользовательские данные обновляются в панели управления. Мне нужна вышеуказанная функция для захвата данных только тогда, когда пользователь обновляется в панели управления.

1 Ответ

1 голос
/ 22 апреля 2020

Обновление пользователя, когда пользователь входит в систему, связано с тем, что Liferay обновляет дату входа в таблицу User.

Вы можете отключить эту функцию, добавив users.update.last.login=false в ваш portal-ext.properties (дополнительную информацию см. В: https://docs.liferay.com/portal/6.2/propertiesdoc/portal.properties.html#Users)

Если вы не хотите отключать эту функцию, возможно, вы можете запросить пользователя из базы данных и сравнить его с новым объектом пользователя, который вы получаете в качестве параметра :

  • В случае, если оба объекта пользователя из параметра и из базы данных имеют одинаковую информацию, за исключением информации для входа => вы находитесь в случае входа в систему
  • В случае, если между ними больше различий пользовательские объекты => вы находитесь в обновлении с панели управления case
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...