Bepalen of de huidige gebruiker is geverifieerd

Determining If Current User Is Authenticated



Probleem

U wilt zien of een gebruiker is ingelogd.

Je weet dat Laravel de geverifieerde gebruiker automatisch in de sessie houdt. U wilt controleren of de huidige aanvraag een gebruiker heeft die is ingelogd en geverifieerd.







Oplossing

Gebruik |__+_|.



De |_+_| methode retourneert waar of onwaar.



indien (Authentiek::rekening())
{
gooide uit 'Ja! Je bent ingelogd.';
}

Discussie

Er gebeuren verschillende dingen achter de schermen als je dit doet.





Eerst controleert Laravel of de huidige sessie de id van een gebruiker heeft. Zo ja, dan wordt geprobeerd de gebruiker uit de database te halen.

Als dat niet lukt, zoekt Laravel naar de onthoud mij-cookie. Als die aanwezig is, wordt opnieuw geprobeerd de gebruiker uit de database te halen.



Alleen als een geldige gebruiker uit de database wordt opgehaald, wordt true geretourneerd.

Het filter ‘gast’ gebruikt deze methode
Laravel biedt een standaardimplementatie van het gastfilter in |__+_|.

Route::filter('gast', functie()
{
indien (Authentiek::rekening()) opbrengstOmleiden::tot('/');
});

Deze standaardimplementatie wordt gebruikt wanneer je een filter wilt toevoegen aan een route die alleen toegankelijk is voor gasten (oftewel gebruikers die niet zijn ingelogd). Als een gebruiker is ingelogd, wordt deze doorgestuurd naar de startpagina.