Problema
Norite sužinoti, ar vartotojas yra prisijungęs.
Jūs žinote, kad „Laravel“ automatiškai išlaiko autentifikuotą vartotoją sesijoje. Norite patikrinti, ar dabartinėje užklausoje yra prisijungęs ir patvirtintas vartotojas.
Sprendimas
Naudokite Auth :: check ()
.
The Auth :: check ()
metodas grąžina teisingą arba klaidingą.
aidas „Taip! Jūs esate prisijungę.";
Diskusija
Kai tai darote, užkulisiuose nutinka keli dalykai.
„First Laravel“ patikrina, ar dabartinė sesija turi vartotojo ID. Jei taip, tada bandoma gauti vartotoją iš duomenų bazės.
Jei tai nepavyksta, tada Laravel patikrina, ar nėra slapuko „prisimink mane“. Jei tai yra, dar kartą bandoma nuskaityti vartotoją iš duomenų bazės.
Tik tada, kai iš duomenų bazės gaunamas galiojantis vartotojas, grąžinama tiesa.
Filtras „svečias“ naudoja šį metodą
Laravel pateikia numatytąjį svečių filtro diegimą programa / filtrai.php
.
if (Auth :: check ()) grąžinti Redirect :: į ('/');
);
Šis numatytasis įgyvendinimas naudojamas, kai norite pridėti filtrą prie maršruto, kurį gali pasiekti tik svečiai (dar žinomi kaip neprisijungę vartotojai). Jei vartotojas yra prisijungęs, jis nukreipiamas į pagrindinį puslapį.