2012-05-09 5 views
12

Wie kann ich den aktuellen Benutzer mit einem einfachen Java Code an ein Liferay-Portal angeschlossen bekommen?Wie kann ich den aktuellen Benutzer in Liferay bekommen?

Ich verwende Liferay 6.0.6

+0

sehen: http://stackoverflow.com/questions/10448193/get-the-current-user-liferay-using-a-simple-java-code – dragon66

+0

Dies ist möglich Duplikat das von @ dragon66 erwähnte Problem. Dies kann auch http://stackoverflow.com/questions/970986/accessing-the-user-from-a-liferay-portlet helfen –

Antwort

2

In Java-Code:

  • UserLocalServiceUtil.getXXX Methoden gibt es, wählen, wie Sie wollen.

In JSP-Code:

  • themeDisplay.getUserId() geben Sie den aktuellen Benutzer-ID
  • themeDisplay.getUser() werden Sie das Objekt der aktuellen Benutzer geben.
22

einfach:

User currentUser = PortalUtil.getUser(request); 
9

In Ihrem doView/Methode process Sie folgende

User user = (User) request.getAttribute(WebKeys.USER); 

oder das Objekt ThemeDisplay verwenden. Es enthält eine weitere Informationen wie CompanyID, groupId, ...

ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY); 
User user = td.getUser(); 

Klassen ThemeDisplay, Benutzer und WebKeys Teil des Portal-service.jar sind.

Wenn Sie nur einige id benötigen aktuelle Benutzer zu identifizieren, können Sie auch

String userId = request.getRemoteUser(); 

Diese Lösung ist nicht Liferay spezifische verwenden und sollen unter JSR-286-Portalen tragbar sein.

Quelle: Get the current user Liferay using a simple Java code