如何在Liferay中获取当前用户?
如何使用简单的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代码获取当前用户Liferay
在Java代码中:
-
UserLocalServiceUtil.getXXX
方法在那里,根据需要选择。
在JSP代码中:
-
themeDisplay.getUserId()
将为您提供当前用户ID -
themeDisplay.getUser()
将为您提供当前用户的对象。