Cerrar sesión por inactividad Laravel [SOLUCIONADO]

¿Por qué es Importante el Cierre de Sesión por Inactividad?

En el mundo del desarrollo web, una aplicación segura es una que gestiona correctamente los tiempos de sesión . El cierre de sesión por inactividad en Laravel se utiliza principalmente para preservar el sistema y los datos del usuario.

Implementación de Cierre de Sesión Automático en Laravel

La funcionalidad puede lograrse utilizando el middleware nativo de Laravel. Middleware es un tipo de software que ofrece servicios a aplicaciones más allá de lo que ofrece el sistema operativo.

        php artisan make:middleware AutoLogout
    

En el directorio app/Http/Middleware, se encontrará el nuevo archivo “AutoLogout.php”. El siguiente código verifica si el usuario ha estado inactivo durante más de un período de tiempo especificado. Si ha expirado, el middleware cerrará la sesión del usuario.

        public function handle($request, Closure $next)
        {
            if (Auth::check()) {
                $lastActivity = Session::get('lastActivity');
                $timeOut = 1800;
                if ($lastActivity + $timeOut < time()){
                    Session::flush();
                    return redirect(‘login’);
                }
                Session::put('lastActivity',time());
            }
            return $next($request);
        }
    

Activación del Cierre de Sesión por Inactividad

Para activar el middleware de cierre de sesión automático, es necesario agregar este middleware al archivo "Kernel.php", que se encuentra en su directorio app/Http. Este archivo se utiliza para configurar la pila de solicitudes de su aplicación y define una lista de middleware de HTTP que aplican todas las solicitudes a su aplicación.

    protected $middleware = [
        ...
        AppHttpMiddlewareAutoLogout::class,
        ...
    ]
    

Personalizando el Tiempo de Espera

Si desea cambiar este tiempo de espera, simplemente cambie el valor de la variable $timeOut en el middleware.

        $timeOut = 1800;
    

Beneficios del Cierre de Sesión Automático

Esta característica puede ser especialmente útil en aplicaciones que contienen información sensible del usuario. La seguridad siempre debe ser una prioridad, y el cierre de sesión por inactividad es una manera efectiva de mejorar la seguridad en cualquier aplicación Laravel.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad