Annak megállapítása, hogy a jelenlegi felhasználó hitelesítve van -e

Determining If Current User Is Authenticated



Probléma

Azt szeretné látni, hogy egy felhasználó bejelentkezett -e.

Tudja, hogy a Laravel automatikusan megtartja a hitelesített felhasználót a munkamenetben. Azt szeretné ellenőrizni, hogy az aktuális kérelemhez bejelentkezett és hitelesített felhasználó van -e.





Megoldás

Használja | _+_ |.



A | _+_ | metódus igaz vagy hamis értéket ad vissza.



ha (Auth::jelölje be())
{
kidobta 'Hurrá! Be vagy jelentkezve. ';
}

Vita

Ennek során számos dolog történik a színfalak mögött.





Először a Laravel ellenőrzi, hogy az aktuális munkamenet rendelkezik -e felhasználói azonosítóval. Ha igen, akkor megpróbálják lekérni a felhasználót az adatbázisból.

Ha ez nem sikerül, akkor a Laravel ellenőrzi az emlékezz rám cookie -t. Ha ez megvan, akkor ismét megpróbálják lekérni a felhasználót az adatbázisból.



Csak akkor kerül visszaadásra, ha érvényes felhasználó kerül lekérésre az adatbázisból.

A „vendég” szűrő ezt a módszert használja
A Laravel a vendégszűrő alapértelmezett megvalósítását biztosítja a | _+_ | nyelvben.

Útvonal::szűrő('vendég', funkció()
{
ha (Auth::jelölje be()) VisszatérésÁtirányítás::nak nek('/');
});

Ez az alapértelmezett megvalósítás akkor használatos, ha szűrőt szeretne hozzáadni egy olyan útvonalhoz, amelyhez csak a vendégek (más néven nem bejelentkezett felhasználók) férhetnek hozzá. Ha egy felhasználó bejelentkezett, akkor átirányítja a kezdőlapra.