11/02/2016, 14:07
|
| | Fecha de Ingreso: febrero-2016
Mensajes: 14
Antigüedad: 8 años, 10 meses Puntos: 0 | |
Respuesta: Autenticación unica en Symfony2 Hace un tiempo tuve que resolver el mismo problema.
La solución que adopté fue agregar un atributo a la tabla de Usuarios en el cual guardar el session_id (esto no se si es bueno por seguridad, quizás alguien me lo pueda asegurar).
Paso siguiente crear un servicio que atienda el evento "login_success" o sea, logueo correcto. En ese servicio se guarda la session_id en la tabla del usuario.
Luego crear un nuevo servicio que atienda cada request, y que compare si el session_id almacenado en el momento del request es igual al session_id actual. Si la respuesta es negativa, cerrar la sesión del usuario.
Entonces, si un usuario se loguea se guarda su session_id, y puede navegar. Pero si otro se loguea con el mismo nombre de usuario, el session_id se guarda y reemplaza el anterior. Cuando el primer usuario haga un request, el servicio detecta que el session_id no es igual y revoca los permisos del usuario, dejando logueado al segundo.
Decime que te parece la solución y te comparto algo del código que tengo.
Saludos |