Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Symfony2 - Manejo de Sesiones

28 de noviembre de 2013

Saludos Cordiales:

Estoy desarrollando una aplicación con symfony2 con manejo de usuarios, ahora necesito implementar lo siguiente:

  1. Que cuando un usuario esté logueado y dentro del sistema, si se va a loguear en una máquina diferente, la sesión donde estaba antes se cierre antes de permitirle ingresar nuevamente al sistema, es decir que sólo se quede abierta una sola sesión a la vez.

  2. Que después de cierto tiempo de innactivadad donde el usuario esté dentro del sistema pero que no haga nada la sesión se cierre automáticamente.

Por favor agradecería mucho su ayuda.

Atentamente, Geovana Ch.


Respuestas

#1

Con respecto a tu primera pregunta, Symfony2 no soporta de serie esta característica. Además, es algo que resulta bastante complicado de hacer. Para empezar, tendrás que cambiar tus sesiones para que se guarden en una base de datos o en un servicio tipo Memcached. Después, tendrás que programar tu propia lógica para buscar si hay alguna sesión existente para el usuario que se quiere loguear y en tal caso, destruirla.

El bundle LswMemcacheBundle tiene algo que te podría servir mediante la opción session.locking: session support in LswMemcacheBundle

Respecto a la segunda pregunta, esto es mucho más sencillo de hacer, ya que sólo tienes que configurar el valor de la opción cookie_lifetime tal y como se explica en el manual oficial de Symfony.

@javiereguiluz

1 diciembre 2013, 20:38