Obtener sesión en share

cancel
Showing results for 
Search instead for 
Did you mean: 
kenpachi85
Member II

Obtener sesión en share

Buenos días.

Tras horas de intensa lucha (esto de Alfresco es sólo para valientes  :?), no consigo acceder a la sesión desde una clase java. El problema que tengo es el siguiente.

Cuando un usuario se loggea en share, se mete en sesión un parámetro. Pues bien, el problema es que luego quiero acceder a ese parámetro desde la clase java que implementa un DeclarativeWebScript, pero no logro acceder a la sesión. ¿Alguien sabe cómo puedo hacerlo?

Muchas gracias de antemano, un saludo.
7 Replies
dacedos
Member II

Re: Obtener sesión en share

Hola!

En tu metodo execute tienes el webscriptRequest req

¿Has probado a hacer el req.getParameter("tuParametro"); ???
kenpachi85
Member II

Re: Obtener sesión en share

No he probado, pues suponía que el WebScriptRequest no contendría como "propios" los parámetros de la sesión.

Voy a echarle un ojo a ver… ya comentaré cómo ha ido la prueba.

Gracias.
kenpachi85
Member II

Re: Obtener sesión en share

Aún no he podido probar esto… que me he tenido que poner a hacer otras cosas… de hecho… algo postearé en breve pidiendo socorro…

En cuanto lo pruebe os comento y si encuentro otra solución, lo diré.
kenpachi85
Member II

Re: Obtener sesión en share

Buenos días.

No consigo solucionar este problema… sigo sin encontrar la forma, tanto de, al logearse el usuario en share, incluir información, como de recuperar la misma después.

¿A nadie se le ocurre nada? Socorro!!!! Smiley Tongue
kenpachi85
Member II

Re: Obtener sesión en share

Buenas.

Voy a intentar explicar el problema de nuevo, a ver si a alguien se le ocurre la solución, porque yo ya no sé por dónde más tirar…

La idea es recuperar de la sesión unos datos que se añadirán a ella al logearse en Alfresco Share para poder utilizarlos en mi java backed bean del DeclarativeWebScript. Me daría igual recuperarlos en javascript o dentro de ese mismo java backed bean, casi sería mejor en javascript, que imagino que mediante el controller del webscript se podrá, pero en lo único que encuentro en el API es el getTicket… que no me vale… pues sólo trae el usuario y el pass…

¿Alguien tiene alguna idea?

Un saludo.
ironrage
Member II

Re: Obtener sesión en share

Buenos días a todos,

Se me ocurre que te crees una clase estática conteniendo un diccionario (clave, valor) y que la rellenes con los valores del Request. Podrías utilizarla en cualquier parte y solamente tendrías que buscar el valor.
Esto en .NET hay una manera de cazar las llamadas del navegador para ejecutar este tipo de clases antes de ver la página (para no hacerlo en cada ASPX, en este caso JSP o FTL's), pero en Java no se si existe este tipo de componentes.

Espero que por lo menos esto te dé "otra" manera de pensar en el tema para buscar una solución.

Saludos.
kenpachi85
Member II

Re: Obtener sesión en share

Buenos días.

Ummm, no sé… tengo que darle una pensada con eso que comentas a ver si se me ocurre algo…

Lo que he visto, de momento, es cómo recuperarlo.

1 - Modificar el contentModel.xml situado en $ALFRESCO_HOME\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\model, para añadir las propiedades que deseemos, en este caso, objetoPropio.
<type name="cm:person">
         <title>Person</title>
         <parent>cm:authority</parent>
         <properties>
            <!– The tokenisation set here is ignored - it is fixed for this type –>
            <!– This is so you can not break person lookup –>
            <property name="cm:userName">
               <type>d:text</type>
               <mandatory>true</mandatory>
               <constraints>
                  <constraint ref="cm:userNameConstraint" />
               </constraints>
            </property>
            <property name="cm:objetoPropio">
               <type>d:text</type>
             </property>
          
      …..
      </type>

2 - Una vez hecho esto, habría que añadir un webscript en el share para recuperarlo de la siguiente forma:
model.objetoPropio = person.properties.objetoPropio;

3 - Con el paso 2, ya lo tendríamos accesible desde la página del dashlet, para poder pasarlo como parámetros de la petición al java backed bean.

Con eso seríamos capaces de recuperarlo, pero implica modificar el xml de la aplicación Alfresco (lo cual no es seguro que el cliente permita hacerlo) y también implica rellenar ese objeto durante la autenticación, lo cual no he conseguido ver cómo hacerlo  :twisted:

En fin, que esto es un infierno!!!  Smiley Sad