如何使用简单的 Java 代码将当前用户连接到Liferay门户?
我正在使用 Liferay 6.0.6
答案 0 :(得分:24)
简单地说:
User currentUser = PortalUtil.getUser(request);
答案 1 :(得分: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门户中移植。
答案 2 :(得分:2)
在Java代码中:
UserLocalServiceUtil.getXXX
方法在那里,根据需要选择。在JSP代码中:
themeDisplay.getUserId()
将为您提供当前用户ID themeDisplay.getUser()
将为您提供当前用户的对象。