如何使用简单的 Java 代码获取连接到 Liferay 门户网站的当前用户? 使用Liferay 6.0.6。
简单来说:
User currentUser = PortalUtil.getUser(request);
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门户之间可移植。
UserLocalServiceUtil.getXXX
方法可供选择。themeDisplay.getUserId()
将给出当前用户的ID。themeDisplay.getUser()
将提供当前用户的对象。