掲示板
Obtener datos de usuario logueado para usar en el código de un portlet
12年前 に Luis Perez によって更新されました。
Obtener datos de usuario logueado para usar en el código de un portlet
New Member 投稿: 1 参加年月日: 12/01/11 最新の投稿
Saludos, desearía saber qué funciones del api de Liferay debo utilizar para poder, desde el código fuente de mi portlet, conocer datos relacionados al usuario logueado en el portal( tales como su cuenta en liferay, id, etc).
Como dato adicional, estoy usando portlets generados con Openxava, los cuales siguen el estándar JSR-168. Si alguien ha obtenido la solución específicamente para los portlets generados con este framework, sería mucho mas rápido dar con la respuesta que busco.
Muchas gracias de antemano.
Como dato adicional, estoy usando portlets generados con Openxava, los cuales siguen el estándar JSR-168. Si alguien ha obtenido la solución específicamente para los portlets generados con este framework, sería mucho mas rápido dar con la respuesta que busco.
Muchas gracias de antemano.
12年前 に Manuel de la Peña によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 62 参加年月日: 11/07/06 最新の投稿
Hola Luis.
Desconozco el framework que utilizas, pero desde tu código deberías tener acceso al ThemeDisplay para acceder al usuario logado, ya que se encuentra en un JAR en el servidor (TOMCAT_DIR/lib/ext/portal-servcice.jar)
Un saludo, Manuel
Desconozco el framework que utilizas, pero desde tu código deberías tener acceso al ThemeDisplay para acceder al usuario logado, ya que se encuentra en un JAR en el servidor (TOMCAT_DIR/lib/ext/portal-servcice.jar)
User user = themeDisplay.getUser();
Un saludo, Manuel
12年前 に Mikel Goikoetxea によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 54 参加年月日: 10/03/16 最新の投稿
12年前 に Gerardo Santamaria Boza によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Regular Member 投稿: 143 参加年月日: 12/01/17 最新の投稿
buenas compañero , deseo preguntarte si este codigo lo deberia de usar dentro de el codigo JAVA
12年前 に Gerardo Santamaria Boza によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Regular Member 投稿: 143 参加年月日: 12/01/17 最新の投稿
yo lo logre de la siguiente manera
FacesContext context = FacesContext.getCurrentInstance();
PortletRequest portletRequest = (PortletRequest) context.getExternalContext().getRequest();
themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
user = themeDisplay.getUser();
el user nos da una hilera con todo los datos del usuario y de ahi escojo lo que quiero
la libreria la cargue de la siguiente manera
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.1.0</version>
</dependency>
este jar se encuentra en directorio de glassfish3.1/domain/domain/>portal-service
FacesContext context = FacesContext.getCurrentInstance();
PortletRequest portletRequest = (PortletRequest) context.getExternalContext().getRequest();
themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
user = themeDisplay.getUser();
el user nos da una hilera con todo los datos del usuario y de ahi escojo lo que quiero
la libreria la cargue de la siguiente manera
<dependency>
<groupId>com.liferay.portal</groupId>
<artifactId>portal-service</artifactId>
<version>6.1.0</version>
</dependency>
este jar se encuentra en directorio de glassfish3.1/domain/domain/>portal-service
12年前 に Mikel Goikoetxea によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 54 参加年月日: 10/03/16 最新の投稿
12年前 に Gerardo Santamaria Boza によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Regular Member 投稿: 143 参加年月日: 12/01/17 最新の投稿
Gracias por tu respuesta
12年前 に Robert S によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 45 参加年月日: 12/03/07 最新の投稿
Buenas Mikel,
Tengo una pregunta, he intentado poner el codigo que dices :
ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
themeDisplay.getUser();
entre las etiquetas <% %>
Pero me da error me dice que ThemeDisplay "cannot be resolved to a type". Supongo que debo de incluir alguna libreria en el JSP, pero cual y como???
Un saludo y Gracias!!!
Tengo una pregunta, he intentado poner el codigo que dices :
ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
themeDisplay.getUser();
entre las etiquetas <% %>
Pero me da error me dice que ThemeDisplay "cannot be resolved to a type". Supongo que debo de incluir alguna libreria en el JSP, pero cual y como???
Un saludo y Gracias!!!
12年前 に Robert S によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 45 参加年月日: 12/03/07 最新の投稿
Vale ya lo he conseguido, he puesto <theme:defineObjects /> en el JSP, y ahora ya puedo acceder por ejemplo a los datos del usuario que esta registrado.
Pero ahora tengo otra pregunta, ¿Como puedo acceder al resto de información que esta en la base de datos, como por ejemplo contenidos es decir algún tipo de noticia?
Un saludo.
Pero ahora tengo otra pregunta, ¿Como puedo acceder al resto de información que esta en la base de datos, como por ejemplo contenidos es decir algún tipo de noticia?
Un saludo.
12年前 に Mikel Goikoetxea によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 54 参加年月日: 10/03/16 最新の投稿
12年前 に Roberto S によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 45 参加年月日: 12/03/07 最新の投稿
Hola buenos días,
Primero darte las gracias por contestar, estoy utilizando lo que me dices tengo esto:
JournalArticle noticia=JournalArticleLocalServiceUtil.getLatestArticle(groupId, articleId);
Estoy incluyendo los valores a pelo para hacer pruebas,
long groupId=10157;
String articleId="10461";
Pero al ir a la web y ver la página me sale que el “portlet is temporarily unavailable”
Otra cosa ahora estoy poniendo los valores a pelo, pero como puedo recoger los valores de groupId y los de articleId.??
Muchas gracias, un saludo.
Primero darte las gracias por contestar, estoy utilizando lo que me dices tengo esto:
JournalArticle noticia=JournalArticleLocalServiceUtil.getLatestArticle(groupId, articleId);
Estoy incluyendo los valores a pelo para hacer pruebas,
long groupId=10157;
String articleId="10461";
Pero al ir a la web y ver la página me sale que el “portlet is temporarily unavailable”
Otra cosa ahora estoy poniendo los valores a pelo, pero como puedo recoger los valores de groupId y los de articleId.??
Muchas gracias, un saludo.
12年前 に Mikel Goikoetxea によって更新されました。
RE: Obtener datos de usuario logueado para usar en el código de un portlet
Junior Member 投稿: 54 参加年月日: 10/03/16 最新の投稿
El groupId lo puedes obtener de la siguiente forma:
En cuanto al articleId lo mejor sería añadirlo en el "portlet.properties" en WEB-INF/src:
Y luego cogerlo en la clase Java:
El error que te está dando no te puedo decir exactamente a qué se debe, lo mejor sería poner un punto de ruptura e ir paso a paso para ver en qué punto casca exactamente. Por otra parte, también te puedes fijar en la traza del error en el log o en la consola del Tomcat.
Un saludo,
Mikel Goikoetxea Bilbao (@mgoibil)
B2B 2000
ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
themeDisplay.getScopeGroupId();
En cuanto al articleId lo mejor sería añadirlo en el "portlet.properties" en WEB-INF/src:
articleId=10461
Y luego cogerlo en la clase Java:
long articleId=Long.parseLong(PortletProps.get("articleId"));
El error que te está dando no te puedo decir exactamente a qué se debe, lo mejor sería poner un punto de ruptura e ir paso a paso para ver en qué punto casca exactamente. Por otra parte, también te puedes fijar en la traza del error en el log o en la consola del Tomcat.
Un saludo,
Mikel Goikoetxea Bilbao (@mgoibil)
B2B 2000