【发布时间】:2012-05-18 09:34:16
【问题描述】:
如何使用简单的 Java 代码让当前用户连接到 Liferay 门户?
我正在使用 Liferay 6.0.6
【问题讨论】:
-
这可能与@dragon66 提到的问题重复。这也可能有助于stackoverflow.com/questions/970986/…
如何使用简单的 Java 代码让当前用户连接到 Liferay 门户?
我正在使用 Liferay 6.0.6
【问题讨论】:
简单地说:
User currentUser = PortalUtil.getUser(request);
【讨论】:
在您的 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 代码中:
UserLocalServiceUtil.getXXX 方法都有,随意选择。在 JSP 代码中:
themeDisplay.getUserId() 会给你当前的用户 IDthemeDisplay.getUser() 会给你当前用户的对象。【讨论】: