Avgjøre om den nåværende brukeren er autentisert

Determining If Current User Is Authenticated



Problem

Du vil se om en bruker er logget inn.

Du vet at Laravel automatisk beholder den godkjente brukeren i økten. Du vil sjekke om den gjeldende forespørselen har en bruker logget inn og godkjent.







Løsning

Bruk | _+_ |.



Den | _+_ | metoden returnerer true eller false.



hvis (Auth::kryss av())
{
kastet ut 'Jippi! Du er logget inn. ';
}

Diskusjon

Flere ting skjer bak kulissene når du gjør dette.





Først sjekker Laravel om den nåværende økten har ID -en til en bruker. I så fall blir det gjort et forsøk på å hente brukeren fra databasen.

Hvis det mislykkes, kontrollerer Laravel om cookien for husk meg. Hvis det er tilstede, blir det igjen gjort et forsøk på å hente brukeren fra databasen.



Bare hvis en gyldig bruker er hentet fra databasen, blir den sanne returnert.

'Gjesten' -filteret bruker denne metoden
Laravel gir en standardimplementering av gjestefilteret i | _+_ |.

Rute::filter('gjest', funksjon()
{
hvis (Auth::kryss av()) komme tilbakeViderekobling::til('/');
});

Denne standardimplementeringen brukes når du vil legge til et filter på en rute som bare er tilgjengelig for gjester (alias brukere som ikke er logget inn). Hvis en bruker er logget inn, blir de omdirigert til hjemmesiden.