Determinar si el usuario actual está autenticado

Determining If Current User Is Authenticated



Problema

Quiere ver si un usuario ha iniciado sesión.

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







Solución

Utilice Auth::check() .



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



si (Auth::cheque())
{
echo '¡Hurra! Estás conectado. ';
}

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 busca la cookie de recordarme. Si eso está presente, una vez más se intenta recuperar al usuario de la base de datos.



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

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

Ruta::filtrar('huésped', función()
{
si (Auth::cheque()) regresoRedirigir::para('/');
});

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