2012-03-26 11 views
0

Ich schrieb ein Portlet und fügte hinzu, dass es in Liferay.Liferay und ZK Integration: Benutzer Info

Ich habe den Weg, um den Benutzernamen von Cookie gefunden: https://www.everit.biz/web/guest/blog/-/blogs/getting-current-liferay-user-in-a-standalone-webapp?_33_redirect=/web/guest/blog

ich in die zk liferay Paket ausgesehen haben, gibt es nur JQuery verwandte Klassen. http://www.zkoss.org/javadoc/6.0.0/zk/org/zkoss/zkplus/liferay/package-summary.html

Gibt es eine Möglichkeit, den aktuellen Benutzer in ZK zu erhalten?

Antwort

1

Folgen Sie einfach Muster

Im Haupt Eintrag Controller-Klasse, die Klasse, die die DHtmlLayoutPortlet

Im Prozess Methode erweitert können Sie Setup commonParameter von liferay zu zk-Sitzung

Ich stelle Ihnen Codeausschnitt zur Verfügung:

@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()); 
     } 

verwenden, die zk Sitzung für diese Parameter in der Anwendung immer

Wenn Sie mehr Informationen wünschen

Follow this link

Es hat alle Informationen, die Sie wollen ... :)

0
Execution exe = Executions.getCurrent(); 
Session session = Sessions.getCurrent(); 
PortletSession ps = (PortletSession) session.getNativeSession(); 
User user = PortalUtil.getUser((HttpServletRequest) exe.getNativeRequest()); 
user.getUserId();