15

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

我正在使用Liferay 6.0.6

4

3 回答 3

24

简单地:

User currentUser = PortalUtil.getUser(request);
于 2012-05-10T07:38:38.847 回答
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 门户之间移植。

来源:使用简单的Java代码获取当前用户Liferay

于 2012-05-11T16:51:29.847 回答
3

在 Java 代码中:

  • UserLocalServiceUtil.getXXX方法有,随意选择。

在 JSP 代码中:

  • themeDisplay.getUserId()会给你当前的用户ID
  • themeDisplay.getUser()会给你当前用户的对象。
于 2012-05-10T00:38:44.350 回答