Liferay Специфические вещи, вот пример кода, который будет написан в вашем классе портлета для извлечения пользователя:
ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
User user = themeDisplay.getRealUser(); // it gives you the actual Logged in User
//you can also use
// User user = themeDisplay.getUser(); // this would fetch the User you are impersonating
long userId = user.getUserId();
String userName = user.getEmailAddress();
В качестве альтернативы;
long userId = themeDisplay.getRealUserId(); // themeDisplay.getUserId();
User user = UserLocalServiceUtil.getUser(userId);
Олицетворение пользователя:
Liferay имеет концепцию, согласно которой администраторы (или лица с правильным набором разрешений) могут выдавать себя за конкретного пользователя портала. Благодаря этому они могут видеть, как портал выглядит для этого пользователя.
Для выполнения кода, когда пользователь меняет свои пароли:
Один из подходов заключается в создании подключаемого модуля и переопределении служб путем расширения класса UserLocalServiceWrapper. Затем проверьте смену пароля и выполните свой код внутри своего пользовательского класса.
Надеюсь, это поможет.