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

16
如何使用简单的 Java 代码获取连接到 Liferay 门户网站的当前用户? 使用Liferay 6.0.6。

请查看此链接:https://dev59.com/nWkv5IYBdhLWcg3wqSb1 - dragon66
这可能是与 @dragon66 提到的问题重复的情况。这也可能会有所帮助https://dev59.com/5nNA5IYBdhLWcg3wa9Gp - Prakash K
3个回答

28

简单来说:

User currentUser = PortalUtil.getUser(request);

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


3
在Java代码中:
  • UserLocalServiceUtil.getXXX方法可供选择。
在JSP代码中:
  • themeDisplay.getUserId()将给出当前用户的ID。
  • themeDisplay.getUser()将提供当前用户的对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接