Probleem
Soovite näha, kas kasutaja on sisse logitud.
Teate, et Laravel hoiab autentitud kasutajat seansil automaatselt. Soovite kontrollida, kas praeguses taotluses on kasutaja sisse logitud ja autentitud.
Lahendus
Kasutage Auth :: check ()
.
The Auth :: check ()
meetod tagastab tõese või vale.
kaja "Jah! Olete sisse logitud.";
Arutelu
Seda tehes juhtub kulisside taga mitu asja.
Kõigepealt kontrollib Laravel, kas praegusel seansil on kasutaja ID. Kui jah, siis proovitakse kasutajat andmebaasist hankida.
Kui see ebaõnnestub, kontrollib Laravel küpsist "mäleta mind". Kui see on olemas, proovitakse veel kord kasutajat andmebaasist hankida.
Tõsi tagastatakse ainult siis, kui andmebaasist leitakse kehtiv kasutaja.
„Külalise” filter kasutab seda meetodit
Laravel pakub külalisfiltri vaikimisi rakendust sisse rakendus / filtrid.php
.
if (Auth :: check ()) tagastab Redirect :: asukohta ('/');
);
Seda vaikerakendust kasutatakse siis, kui soovite lisada marsruudile filtri, millele pääsevad juurde ainult külalised (ehk kasutajad, kes pole sisse logitud). Kui kasutaja on sisse logitud, suunatakse ta avalehele.