Težava
Želite preveriti, ali je uporabnik prijavljen.
Veste, da Laravel samodejno obdrži preverjenega uporabnika v seji. Želite preveriti, ali je v trenutni zahtevi uporabnik prijavljen in overjen.
Rešitev
Uporaba Auth :: check ()
.
The Auth :: check ()
metoda vrne true ali false.
odmev "Yay! Prijavljeni ste.";
Diskusija
Ko to počneš, se v zakulisju zgodi več stvari.
Najprej Laravel preveri, ali ima trenutna seja id uporabnika. Če je tako, potem poskusimo uporabnika pridobiti iz baze podatkov.
Če to ne uspe, potem Laravel preveri, ali je zapomni piškotek. Če je to prisotno, se ponovno poskusi uporabnik pridobiti iz baze podatkov.
True, če je iz baze podatkov pridobljen veljaven uporabnik, se vrne.
Filter 'guest' uporablja to metodo
Laravel ponuja privzeto izvedbo gostujočega filtra v aplikacija / filtri.php
.
if (Auth :: check ()) return Redirect :: to ('/');
);
Ta privzeta izvedba se uporablja, če želite na pot, ki je dostopna samo gostom (tj. Uporabnikom, ki niso prijavljeni), dodati filter. Če je uporabnik prijavljen, je preusmerjen na domačo stran.