Ugotavljanje, ali je trenutni uporabnik overjen

Determining If Current User Is Authenticated



Problem

Želite videti, ali je uporabnik prijavljen.

Veš, da Laravel samodejno zadrži preverjenega uporabnika v seji. Želite preveriti, ali je v trenutni zahtevi uporabnik prijavljen in overjen.







Rešitev

Uporabite | _+_ |.



| _+_ | metoda vrne true ali false.



če (Auth::preveri())
{
vrgel ven 'Juhu! Prijavljeni ste. ';
}

Diskusija

Ko to storite, se v ozadju zgodi več stvari.





Prvi Laravel preveri, ali ima trenutna seja ID uporabnika. Če je tako, se poskusi pridobiti uporabnika iz baze podatkov.

Če to ne uspe, Laravel preveri piškotek zapomni si me. Če je ta prisoten, se znova poskusi pridobiti uporabnika iz baze podatkov.



Le če je veljaven uporabnik pridobljen iz baze podatkov, je vrnjeno res.

Filter 'gost' uporablja to metodo
Laravel ponuja privzeto izvedbo filtra za goste v | _+_ |.

Pot::filter('gost', funkcijo()
{
če (Auth::preveri()) vrnitevPreusmeritev::do('/');
});

Ta privzeta izvedba se uporablja, če želite poti dodati pot, ki je dostopna samo gostom (uporabnikom, ki niso prijavljeni). Če je uporabnik prijavljen, je preusmerjen na domačo stran.