Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 使用简单的Java代码获取当前用户Liferay_Authentication_Jboss_Struts2_Liferay_Portal - Fatal编程技术网

Authentication 使用简单的Java代码获取当前用户Liferay

Authentication 使用简单的Java代码获取当前用户Liferay,authentication,jboss,struts2,liferay,portal,Authentication,Jboss,Struts2,Liferay,Portal,我正在使用:Liferay 6.0.6和JBoss 5.1以及Struts2 我的问题是,如何在登录后使用Java代码让当前用户进入Liferay。在doView/processAction方法中执行以下操作 User user = (User) request.getAttribute(WebKeys.USER); 或者使用主题显示对象。它包含另一个信息,如companyId、groupId等 ThemeDisplay td =(ThemeDisplay)request.getAttrib

我正在使用:Liferay 6.0.6JBoss 5.1以及Struts2


我的问题是,如何在登录后使用Java代码让当前用户进入Liferay

在doView/processAction方法中执行以下操作

User user = (User) request.getAttribute(WebKeys.USER);
或者使用主题显示对象。它包含另一个信息,如companyId、groupId等

ThemeDisplay td  =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
主题为显示、用户和WebKeys的类是portal-service.jar的一部分

如果您只需要一些id来标识当前用户,您也可以使用

String userId = request.getRemoteUser();

此解决方案不是特定于Liferay的,应该可以在jsr-286门户之间移植。

Liferay提供了Util类

com.liferay.portal.util.PortalUtil

此类包含获取常用属性的所有实用工具方法


尝试使用
portal.getUser(PortletRequest-PortletRequest)
方法避免创建新对象和引用。

这是另一种可能的方法:

private LiferayFacesContext liferayFacesContext = LiferayFacesContext.getInstance();
User currentUser=liferayFacesContext.getUser()

我的意思是,解决方案应该是Java代码,我们必须通过电子邮件检索当前用户:)您能告诉我更多关于实例“请求”的信息吗。如何初始化它?它可以是RenderRequest、ActionRequest、EventRequest或ResourceRequest。如果您不熟悉它们,那么应该阅读一些portlet教程,例如User currentUser=LiferayFacesContext.getInstance().getUser();主题显示有什么不同?@zhelon,没事,你从请求中获取主题显示,然后从中获取getUser(),PortalUtil.getUser()从请求中获取相同的内容,如果你看到PortalImpl.getUser(),你会注意到这个请求。getAttribute(WebKeys.USER);