Determinar si el usuario actual está autenticado

Determinar si el usuario actual está autenticado

Problema

Desea ver si un usuario ha iniciado sesión.

Sabe que Laravel mantiene automáticamente al usuario autenticado en la sesión. Desea verificar si la solicitud actual tiene un usuario iniciado y autenticado.

Solución

Usar Auth :: check ().

El Auth :: check () El método devuelve verdadero o falso.

if (auth :: check ())

echo "yay! Estás iniciado sesión.";

Discusión

Varias cosas suceden detrás de escena cuando haces esto.

Primero Laravel verifica si la sesión actual tiene la identificación de un usuario. Si es así, se intenta recuperar al usuario de la base de datos.

Si eso falla, entonces Laravel verifica la galleta "Remember Me". Si eso está presente, una vez más se intenta recuperar al usuario de la base de datos.

Solo si un usuario válido se recupera de la base de datos es verdadero devuelto.

El filtro 'invitado' utiliza este método
Laravel proporciona una implementación predeterminada del filtro de invitado en aplicación/filtros.php.

Ruta :: filtro ('invitado', function ()

if (auth :: check ()) return redirect :: a ('/');
);

Esta implementación predeterminada se usa cuando desea agregar un filtro a una ruta a la que solo los invitados accesibles (también conocidos como usuarios que no están conectados). Si se inicia un usuario, se redirige a la página de inicio.