2012-05-09 20 views
12

¿Cómo puedo obtener el usuario actual conectado a un portal Liferay con un simple Java código?¿Cómo puedo obtener el usuario actual en Liferay?

estoy usando Liferay 6.0.6

+0

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

+0

Esto es posible duplicado de el problema mencionado por @ dragon66. Esto también podría ayudar a http://stackoverflow.com/questions/970986/accessing-the-user-from-a-liferay-portlet –

Respuesta

2

en código Java:

  • UserLocalServiceUtil.getXXX métodos están ahí, elegir como se desee.

En JSP Código:

  • themeDisplay.getUserId() le dará el ID de usuario actual
  • themeDisplay.getUser() le dará el objeto de usuario actual.
22

Simplemente:

User currentUser = PortalUtil.getUser(request); 
9

En el método de doView/processAction hacer después

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

o utilizar el objeto ThemeDisplay. Contiene otra información como CompanyID, groupId, ...

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

Clases ThemeDisplay, webkeys usuario y son parte del portal service.jar.

Si necesita sólo algunas de ID para identificar usuario actual también se puede utilizar

String userId = request.getRemoteUser(); 

Esta solución no es Liferay específico y debe ser portátiles entre JSR-286 portales.

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

Cuestiones relacionadas