Problem
Du vil se om en bruker er logget inn.
Du vet at Laravel automatisk holder den autentiserte brukeren i økten. Du vil sjekke om den gjeldende forespørselen har en bruker logget på og autentisert.
Løsning
Bruk Auth :: sjekk ()
.
De Auth :: sjekk ()
metoden returnerer sant eller usant.
ekko "Yay! Du er logget inn.";
Diskusjon
Flere ting skjer bak kulissene når du gjør dette.
Først sjekker Laravel om gjeldende økt har ID til en bruker. I så fall blir det forsøkt å hente brukeren fra databasen.
Hvis det mislykkes, sjekker Laravel for informasjonskapslen "husk meg". Hvis det er tilstede, blir det igjen forsøkt å hente brukeren fra databasen.
Bare hvis en gyldig bruker blir hentet fra databasen, returneres den sanne.
Gjestefilteret bruker denne metoden
Laravel gir en standardimplementering av gjestefilteret i app / filtre.php
.
hvis (Auth :: sjekk ()) returner Redirect :: til ('/');
);
Denne standardimplementeringen brukes når du vil legge til et filter i en rute som bare er tilgjengelig for gjester (aka brukere som ikke er pålogget). Hvis en bruker er logget inn, blir de omdirigert til hjemmesiden.