Nustatoma, ar dabartinis vartotojas yra autentifikuotas

Determining If Current User Is Authenticated



Problema

Norite pamatyti, ar vartotojas yra prisijungęs.

Jūs žinote, kad „Laravel“ automatiškai išsaugo autentifikuotą vartotoją sesijoje. Norite patikrinti, ar dabartinėje užklausoje vartotojas yra prisijungęs ir patvirtintas.







Sprendimas

Naudokite | _+_ |.



| _+_ | metodas grąžina teisingą arba klaidingą.



jei (Aut::patikrinti())
{
išmetė 'Valio! Jūs esate prisijungę. ';
}

Diskusija

Kai tai darote, užkulisiuose nutinka keletas dalykų.





Pirmiausia „Laravel“ patikrina, ar dabartinė sesija turi vartotojo ID. Jei taip, tada bandoma paimti vartotoją iš duomenų bazės.

Jei nepavyksta, „Laravel“ patikrina slapuką „Prisimink mane“. Jei tai yra, dar kartą bandoma paimti vartotoją iš duomenų bazės.



Tik tuo atveju, jei iš duomenų bazės nuskaitytas galiojantis vartotojas, grąžinama tiesa.

„Svečio“ filtras naudoja šį metodą
„Laravel“ numatytasis svečių filtro įgyvendinimas | _+_ |.

Maršrutas::filtras('svečias', funkcija()
{
jei (Aut::patikrinti()) grįžtiPeradresuoti::į('/');
});

Šis numatytasis diegimas naudojamas, kai norite pridėti filtrą prie maršruto, kuriuo gali naudotis tik svečiai (dar neprisijungę vartotojai). Jei vartotojas yra prisijungęs, jis nukreipiamas į pagrindinį puslapį.