Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Manuel Pastor
Error al recuperar los roles del usuario autenticado en Liferay
November 4, 2008 3:49 AM
Answer

Manuel Pastor

Rank: New Member

Posts: 6

Join Date: October 28, 2008

Recent Posts

Estoy utilizando el portlet iFrame para enlazar Liferay con mi aplicación J2ee. En mi aplicación, recojo el nombre del usuario autenticado en Liferay y su ID, tras configurar los hidden values en la configuración del iFrame (por la request).

Mi clase hace:

//Recuperamos el nombre de usuario autenticado en Liferay:
String liferayUser = request.getParameter("liferayuser");
logger.info("********** Usuario autenticado en Liferay: "+liferayUser);

//Recuperamos el ID del usuario autenticado en Liferay:
Long liferayUserID = Long.parseLong(request.getParameter("liferayuserid"));
logger.info("********** ID Usuario autenticado en Liferay: "+liferayUserID.longValue());

Tras ejecutar esto, obtengo que:
liferayUser = joebloggs
liferayUserID = 2

Pero a la hora de recuperar los roles asociados a ese usuario, en mi clase Java, obtengo un error. La instrucción que falla es:

List<Role> rolesUserLiferay = RoleServiceUtil.getUserRoles(liferayUserID.longValue());

devuelve un NullPointerException.

En cambio, si ejecuto esto en la jsp proxy.jsp del portlet iFrame:

<%
System.out.println("Liferay user : " + user.getScreenName());
System.out.println("Liferay user's ID : " + user.getUserId());

List<Role> roles = RoleServiceUtil.getUserRoles(user.getUserId());
if (roles != null){
Iterator<Role> iterator = roles.iterator();
while (iterator.hasNext()){
Role userRole = iterator.next();
System.out.println(userRole.getName());
}
} %>

Funciona correctamente y me devuelve los roles del usuario. El problema es que no puedo pasar List<Role> como un hidden value, por eso lo estoy haciendo en mi clase.

¿Alguna idea?

Muchas gracias.
Alberto Montero
RE: Error al recuperar los roles del usuario autenticado en Liferay
November 5, 2008 10:41 AM
Answer

Alberto Montero

LIFERAY STAFF

Rank: Expert

Posts: 357

Join Date: January 13, 2008

Recent Posts

Hola Manuel.

El fichero proxy.jsp es parte del portal, y por tanto cuando se compila están disponibles todos los servicios del portal, y entre ellos obtener los roles de un usuario.

En tu clase, dentro de tu aplicación J2EE independiente de Liferay no están disponibles los servicios del portal, a menos que hagas algo parecido a lo que se hace con los plugins, pero en ese caso seguramente te interese portar tu aplicación y desarrollarla como un plugin.

Un saludo