Problema
Vuoi vedere se un utente ha effettuato l'accesso.
Sai che Laravel mantiene automaticamente l'utente autenticato nella sessione. Vuoi verificare se la richiesta corrente ha un utente connesso e autenticato.
Soluzione
Uso Aut::check()
.
Il Aut::check()
il metodo restituisce vero o falso.
echo "Yay! Hai effettuato l'accesso.";
Discussione
Molte cose accadono dietro le quinte quando lo fai.
Prima Laravel controlla se la sessione corrente ha l'id di un utente. In tal caso, viene effettuato un tentativo di recuperare l'utente dal database.
Se fallisce, Laravel controlla il cookie "ricordami". Se è presente, viene fatto ancora una volta un tentativo di recuperare l'utente dal database.
Solo se viene recuperato un utente valido dal database viene restituito true.
Il filtro "ospite" utilizza questo metodo
Laravel fornisce un'implementazione predefinita del filtro ospite in app/filtri.php
.
if (Auth::check()) return Redirect::to('/');
);
Questa implementazione predefinita viene utilizzata quando si desidera aggiungere un filtro a un percorso accessibile solo dagli ospiti (ovvero utenti che non hanno effettuato l'accesso). Se un utente ha effettuato l'accesso, viene reindirizzato alla home page.