Bestemmer, om den aktuelle bruger er godkendt

Determining If Current User Is Authenticated



Problem

Du vil se, om en bruger er logget ind.

Du ved, at Laravel automatisk beholder den godkendte bruger i sessionen. Du vil kontrollere, om den aktuelle anmodning har en bruger logget ind og godkendt.







Løsning

Brug | _+_ |.



Den | _+_ | metode returnerer sand eller falsk.



hvis (Auth::kontrollere())
{
smed ud 'Yay! Du er logget ind. ';
}

Diskussion

Der sker flere ting bag kulisserne, når du gør dette.





Først kontrollerer Laravel, om den aktuelle session har en brugers id. I så fald gøres et forsøg på at hente brugeren fra databasen.

Hvis det ikke lykkes, kontrollerer Laravel for husk mig -cookien. Hvis det er til stede, bliver der igen forsøgt at hente brugeren fra databasen.



Kun hvis en gyldig bruger hentes fra databasen, returneres sandt.

'Gæst' -filteret bruger denne metode
Laravel leverer en standardimplementering af gæstefilteret i | _+_ |.

Rute::filter('gæst', fungere()
{
hvis (Auth::kontrollere()) Vend tilbageOmdiriger::til('/');
});

Denne standardimplementering bruges, når du vil føje et filter til en rute, der kun er tilgængelig for gæster (alias brugere, der ikke er logget ind). Hvis en bruger er logget ind, bliver de omdirigeret til startsiden.