Problém
Chcete zistiť, či je používateľ prihlásený.
Viete, že Laravel automaticky udržuje autentifikovaného používateľa v relácii. Chcete skontrolovať, či má aktuálna požiadavka prihláseného a autentifikovaného používateľa.
Riešenie
Použite Auth :: check ()
.
The Auth :: check ()
metóda vracia hodnotu true alebo false.
ozvena „Jaj! Ste prihlásený.";
Diskusia
Keď to urobíte, stane sa v zákulisí niekoľko vecí.
Prvý Laravel skontroluje, či má aktuálna relácia ID používateľa. Ak je to tak, urobí sa pokus o načítanie používateľa z databázy.
Ak to zlyhá, Laravel skontroluje, či existuje súbor cookie „pamätaj si ma“. Ak je prítomný, znova sa urobí pokus o načítanie používateľa z databázy.
Hodnota true je vrátená, iba ak je z databázy získaný platný používateľ.
Túto metódu používa filter „hosť“
Laravel poskytuje predvolenú implementáciu filtra pre hostí v aplikácia / filtre.php
.
if (Auth :: check ()) return Redirect :: to ('/');
);
Táto predvolená implementácia sa používa, ak chcete na trasu pridať filter, ku ktorému majú prístup iba hostia (aka používatelia, ktorí nie sú prihlásení). Ak je používateľ prihlásený, bude presmerovaný na domovskú stránku.