Problém
Chcete zjistit, zda je uživatel přihlášen.
Víte, Laravel automaticky udržuje ověřeného uživatele v relaci. Chcete zkontrolovat, zda má aktuální požadavek uživatele přihlášeného a ověřeného.
Řešení
Použití Auth :: check ()
.
The Auth :: check ()
metoda vrací true nebo false.
ozvěna „Jo! Jste přihlášeni.";
Diskuse
Když to uděláte, stane se v zákulisí několik věcí.
First Laravel ověří, zda má aktuální relace ID uživatele. Pokud ano, dojde k pokusu o načtení uživatele z databáze.
Pokud se to nepodaří, Laravel zkontroluje cookie „pamatuj si mě“. Pokud je k dispozici, provede se znovu pokus o načtení uživatele z databáze.
Hodnota true je vrácena pouze v případě, že je z databáze načten platný uživatel.
Tuto metodu používá filtr „host“
Laravel poskytuje výchozí implementaci filtru pro hosty aplikace / filtry.php
.
if (Auth :: check ()) return Redirect :: to ('/');
);
Tato výchozí implementace se používá, když chcete na trasu přidat filtr, který je přístupný pouze hostům (aka uživatelům, kteří nejsou přihlášeni). Pokud je uživatel přihlášen, bude přesměrován na domovskou stránku.