Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/01/2016, 18:45
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Autenticación unica en Symfony2

La idea que tienes de verificar por una propiedad que te indique si esta con sesion en el sistema te sirve, solo agregale ademas otro campo para mantener un timestamp que se este actualizando con un tiempo pertinente para saber si el usuario esta conectado con su cuenta, de esa forma cuando se haga un nuevo login puedes controlar si están accediendo doble.

Por otro lado vas a necesitar usar un manejador de eventos para que cuando el usuario intente hacer login puedas verifiques las condiciones que requieras. Esto lo puedes hacer creando una implementación de la interfaz AuthenticationSuccessHandlerInterface https://github.com/symfony/symfony/b...rInterface.php . En el mismo lugar donde esta la interfaz puedes ver ejemplos para que te orientes a la hora de implementarla, ya que la tengas implementada, la tienes que agregarla como servicio http://symfony.com/doc/current/book/...container.html y posterior a eso le indicas al componente de seguridad que va a utilizar tu implementación agregando la directiva success_handler al archivo security.yml; ejemplo
Código yml:
Ver original
  1. form_login:
  2.                 check_path: /admin/login_check
  3.                 login_path: /admin/login
  4.                 always_use_default_target_path: true
  5.                 default_target_path: /admin
  6.                 success_handler: ultra_login_success_handler
En el ejemplo la cadena ultra_login_success_handler es el id que le di al handler cuando lo agregue como servicio.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.