Problem
Sie möchten sehen, ob ein Benutzer angemeldet ist.
Sie wissen, dass Laravel den authentifizierten Benutzer automatisch in der Sitzung behält. Sie möchten überprüfen, ob die aktuelle Anfrage über einen Benutzer angemeldet und authentifiziert ist.
Lösung
Verwenden Auth :: check ()
.
Der Auth :: check ()
Methode gibt wahr oder falsch zurück.
Diskussion
Hinter den Kulissen passieren mehrere Dinge, wenn Sie dies tun.
Erst Laravel prüft, ob die aktuelle Sitzung die ID eines Benutzers hat. In diesem Fall wird versucht, den Benutzer aus der Datenbank abzurufen.
Wenn das fehlschlägt, schaut Laravel nach dem Cookie „Erinnere dich an mich“. Wenn dies vorhanden ist, wird erneut versucht, den Benutzer aus der Datenbank abzurufen.
Nur wenn ein gültiger Benutzer aus der Datenbank abgerufen wird.
Der "Gast" -Filter verwendet diese Methode
Laravel bietet eine Standardimplementierung des Gastfilters in App/Filter.Php
.
Diese Standardimplementierung wird verwendet, wenn Sie einer Route, die nur von Gästen zugänglich ist (AKA -Benutzer, die nicht angemeldet sind, einen Filter hinzufügen möchten (nicht angemeldet). Wenn ein Benutzer angemeldet ist, werden er auf die Startseite umgeleitet.