Determinare se l'utente corrente è autenticato

Determining If Current User Is Authenticated



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

Usa |_+_|.



Il |_+_| il metodo restituisce vero o falso.



Se (Autorizzazione::dai un'occhiata())
{
buttato fuori 'Sìì! Hai effettuato l'accesso.';
}

Discussione

Molte cose accadono dietro le quinte quando lo fai.





Innanzitutto 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 effettuato ancora una volta un tentativo di recuperare l'utente dal database.



Verrà restituito solo se viene recuperato un utente valido dal database.

Il filtro 'ospite' utilizza questo metodo
Laravel fornisce un'implementazione predefinita del filtro ospite in |_+_|.

Rotta::filtro('ospite', funzione()
{
Se (Autorizzazione::dai un'occhiata()) RestituzioneReindirizzare::a('/');
});

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.