Подтвердить что ты не робот

Как я могу получить текущего пользователя в Liferay?

Как я могу заставить текущего пользователя подключиться к порталу Liferay с помощью простого кода Java?

Я использую Liferay 6.0.6

4b9b3361

Ответ 1

Просто:

User currentUser = PortalUtil.getUser(request);

Ответ 2

В вашем методе doView/processAction выполните следующие действия

User user = (User) request.getAttribute(WebKeys.USER);

или используйте объект ThemeDisplay. Он содержит другую информацию, такую ​​как companyId, groupId,...

ThemeDisplay td  =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();

Классы ThemeDisplay, User и WebKeys являются частью портала-service.jar.

Если вам нужен только некоторый идентификатор для идентификации текущего пользователя, вы также можете использовать

String userId = request.getRemoteUser();

Это решение не является специфичным для Liferay и должно быть портативным среди порталов jsr-286.

Источник: Получить текущего пользователя Liferay с помощью простого кода Java

Ответ 3

В коде Java:

  • UserLocalServiceUtil.getXXX существуют методы, выберите, как хотите.

В коде JSP:

  • themeDisplay.getUserId() предоставит вам текущий идентификатор пользователя
  • themeDisplay.getUser() предоставит вам объект текущего пользователя.