如何使用简单的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()
会给你当前用户的对象。