hola jorge como puedo hacer para que un usuario solamente tenga iniciada una session en el sistema,? y cuando otro usuario trate de entrar desde otra ip, le deniegue el permiso de acceso.
Jorge Davila (0 xp)
Puedes crear un middleware que se encargue de eso. Necesitarias varias cosas:
Con esto ya podrias jugar bastante con el login. Puedes ya sea verificar antes de que se ejecute el login, o en su defecto despues, depende de como quieras manejar la logica. Esto solo evitaria que un usuario inicie session si ya hay una session iniciada con ese usuario/ip. Si quieres que las cierre al momento tambien necesitarias de sockets aunque seria complicarte bastante la vida por algo que no es tan necesario si no vas a manejar una aplicacion que necesite cumplir con dichos requerimentos.
Pablo Vera (0 xp)
Entonces la solucion sería pasar del las sesiones en archivos a las sesiones en base de datos y éstas verificarlas mediante un middleware que se ejecutaría antes del login. Tienes algun ejemplo de este middleware?
Su experiencia en este sitio será mejorada con el uso de cookies.
-Session por base de datos: https://laravel.com/docs/5.8/session#driver-prerequisites
-Crear un middleware que revise que el usuario solo tenga una session iniciada.
-Middleware priority: https://laravel.com/docs/5.8/middleware#sorting-middleware
Con esto ya podrias jugar bastante con el login. Puedes ya sea verificar antes de que se ejecute el login, o en su defecto despues, depende de como quieras manejar la logica. Esto solo evitaria que un usuario inicie session si ya hay una session iniciada con ese usuario/ip. Si quieres que las cierre al momento tambien necesitarias de sockets aunque seria complicarte bastante la vida por algo que no es tan necesario si no vas a manejar una aplicacion que necesite cumplir con dichos requerimentos.
Tienes algun ejemplo de este middleware?