Modificar el tiempo de sesión de Liferay


La duración de la sesión de Liferay por defecto es de 30 minutos. Hoy os mostraremos como modificar este valor.

Podemos encontrar este valor dentro del portal.properties de Liferay.

  • portal.properties (Liferay src): /portal/portal-impl/classes
  • portal.properties (Server): /webapps/ROOT/WEB-INF/lib/portal-impl.jar
    #
    # Specify the number of minutes before a session expires. This value is
    # always overridden by the value set in web.xml.
    #
    session.timeout=30

Al estar como propiedad de portal podemos sobrescribirla des del portal-ext.properties o el portal-setup-wizard.properties

  • portal-ext.properties: /webapps/ROOT/WEB-INF/classes/
  • portal-setup-wizard.properties: /liferay-portal-x.x-xx-xxx/
    session.timeout=240

Tal y como indican en el propio portal.properties, este cambio no es suficiente, ya que prevalece el valor que se encuentra en el archivo web.xml

  • web.xml (Liferay src): /portal-web/docroot/WEB-INF/
  • web.xml (Server): /webapps/ROOT/WEB-INF/
<session-config>
    <session-timeout>30</session-timeout>
</session-config>

La forma recomendada de modificar este tipo de propiedades es mediante un Ext Plugin.

Al crear un nuevo Ext Plugin, se nos generarán diversos directorios y archivos. El que queremos modificar nosotros ya se encuentra en (/docroot/WEB-INF/ext-web/docroot/WEB-INF/web.xml ). Solamente es necesario editarlo y añadir únicamente el tag que queremos modificar. No es necesario como en otros casos poner todo el contenido, ya se encargará de hacer el merge con el archivo original.

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <session-config></session-config>
</web-app>

En nuestro caso eliminamos el tag <session-timeout> para que tome como válido el valor que pongamos en el portal-ext.properties, siendo más sencillo controlar dicho valor.

Una vez aplicado el EXT podremos observar que el archivo web.xml de nuestro servidor que antes contenía <session-timeot> dentro de <session-config>, ahora ya no tiene esa propiedad. Desde este momento ya podremos modificar el tiempo de sesión desde las propiedades del portal.

Recordad que para aplicar un EXT es necesario reiniciar después de hacer el deploy, y si ya existía un EXT anterior, según la situación, puede ser necesario limpiar Liferay antes de aplicar de nuevo un Ext Plugin (más información aquí).

Un saludo.


Leave a Reply

Your email address will not be published. Required fields are marked *