如何在Liferay中获取当前用户?

时间:2012-05-09 20:10:17

标签: java liferay-6

如何使用简单的 Java 代码将当前用户连接到Liferay门户?

我正在使用 Liferay 6.0.6

3 个答案:

答案 0 :(得分:24)

简单地说:

User currentUser = PortalUtil.getUser(request);

答案 1 :(得分:10)

在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是portal-service.jar的一部分。

如果您只需要一些ID来识别当前用户,您也可以使用

String userId = request.getRemoteUser();

此解决方案不是Liferay特定的,应该可以在jsr-286门户中移植。

来源:Get the current user Liferay using a simple Java code

答案 2 :(得分:2)

在Java代码中:

  • UserLocalServiceUtil.getXXX方法在那里,根据需要选择。

在JSP代码中:

  • themeDisplay.getUserId()将为您提供当前用户ID
  • themeDisplay.getUser()将为您提供当前用户的对象。