Determinare se l'utente corrente è autenticato

Determinare se l'utente corrente è autenticato

Problema

Vuoi vedere se un utente è effettuato.

Sai che Laravel mantiene automaticamente l'utente autenticato nella sessione. Si desidera verificare se la richiesta corrente ha un utente effettuato e autenticato.

Soluzione

Utilizzo AUTH :: check ().

IL AUTH :: check () Il metodo restituisce vero o falso.

if (auth :: check ())

echo "yay! Hai effettuato l'accesso.";

Discussione

Diverse cose accadono dietro le quinte quando lo fai.

Primo Laravel controlla se la sessione corrente ha l'ID di un utente. In tal caso, viene fatto un tentativo di recuperare l'utente dal database.

Se questo fallisce, allora Laravel controlla il biscotto "Ricorda me". Se è presente, viene ancora una volta fatto un tentativo di recuperare l'utente dal database.

Solo se un utente valido viene recuperato dal database è TRUE restituito.

Il filtro "ospite" utilizza questo metodo
Laravel fornisce un'implementazione predefinita del filtro ospite in app/filtri.PHP.

Route :: Filter ('Guest', Function ()

if (autentica :: check ()) restituisce reindirizzamento :: a ('/');
);

Questa implementazione predefinita viene utilizzata quando si desidera aggiungere un filtro a un percorso accessibile solo dagli ospiti (aka utenti che non hanno effettuato l'accesso). Se un utente viene effettuato l'accesso, viene reindirizzato alla home page.