Určení, zda je aktuální uživatel ověřen

Determining If Current User Is Authenticated



Problém

Chcete zjistit, zda je uživatel přihlášen.

Víte, že Laravel automaticky udržuje ověřeného uživatele v relaci. Chcete zkontrolovat, zda má aktuální požadavek přihlášeného a ověřeného uživatele.







Řešení

Použijte | _+_ |.



| _+_ | metoda vrací true nebo false.



-li (Auth::šek())
{
vyhodil „Jé! Jste přihlášeni. ';
}

Diskuse

Když to uděláte, v zákulisí se stane několik věcí.





První laravel kontroluje, zda má aktuální relace ID uživatele. Pokud ano, provede se pokus o načtení uživatele z databáze.

Pokud se to nezdaří, Laravel zkontroluje, zda si pamatuje cookie. Pokud je k dispozici, pak se znovu pokusí získat uživatele z databáze.



Pouze v případě, že je z databáze načten platný uživatel, je vrácena hodnota true.

Tuto metodu používá filtr „host“
Laravel poskytuje výchozí implementaci filtru hostů v | _+_ |.

Trasa::filtr('host', funkce()
{
-li (Auth::šek()) vrátit sePřesměrovat::na('/');
});

Tato výchozí implementace se používá, když chcete přidat filtr na trasu, ke které mají přístup pouze hosté (aka uživatelé, kteří nejsou přihlášeni). Pokud je uživatel přihlášen, bude přesměrován na domovskou stránku.