Liferay和ZK集成:用户信息

Liferay和ZK集成:用户信息,liferay,portlet,portal,zk,Liferay,Portlet,Portal,Zk,我编写了一个portlet并添加到liferay 我找到了从cookie获取用户名的方法: 我已经研究了zk-liferay包,其中只有JQuery相关的类。 有没有办法在ZK中获取当前用户?Execution exe=Executions.getCurrent(); Session Session=Sessions.getCurrent(); PortletSession ps=(PortletSession)session.getNativeSession(); User User=Po

我编写了一个portlet并添加到liferay

我找到了从cookie获取用户名的方法:

我已经研究了zk-liferay包,其中只有JQuery相关的类。

有没有办法在ZK中获取当前用户?

Execution exe=Executions.getCurrent();
Session Session=Sessions.getCurrent();
PortletSession ps=(PortletSession)session.getNativeSession();
User User=PortalUtil.getUser((HttpServletRequest)exe.getNativeRequest());
getUserId();
遵循简单的模式

在主入口控制器类中,扩展DHtmlLayoutPortlet

在处理方法中,您可以设置liferay的commonParameter,以zk会话

我向您提供代码片段:

 @Override  
      protected boolean process(Session sess, RenderRequest request,  
                RenderResponse response, String path, boolean bRichlet)  
                throws PortletException, IOException {  
           setupSessionParameters(sess, request);  
           return super.process(sess, request, response, path, bRichlet);  
      }  
      protected void setupSessionParameters(Session sess, RenderRequest request) {  
           ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);  
           PortletSession portletSession = request.getPortletSession();  
           PortletPreferences prefs = request.getPreferences();  
           sess.setAttribute("SESSION_ID", portletSession.getId());  
           sess.setAttribute("THEME_DISPLAY", themeDisplay);  
           sess.setAttribute("GROUP_ID", themeDisplay.getScopeGroupId());  
           sess.setAttribute("PORTLET_PREFERENCES", prefs);  
           sess.setAttribute("PORTLET_ID", themeDisplay.getPortletDisplay().getId());  
           sess.setAttribute("currentUser", themeDisplay.getUser().getScreenName());  
      }  
使用zk会话在应用程序中获取这些参数

如果你想要更多的信息

它包含您想要的所有信息…:)