Ich habe die eingebauten Auth-Controller durchgesehen und festgestellt, dass sie so etwas wie "Guards" verwenden. Bis jetzt habe ich diese, wenn ich meine eigenen Anmelde- / Registrierungsformulare erstellt habe, nie berührt und normalerweise nur Dinge getan wie:
Auth::attempt()
ohne jede Art von Wache. Ich habe versucht nachzuschlagen, was genau es ist, aber ich konnte keine Informationen darüber finden. Kann mir jemand erklären, was der Zweck der Wachen ist?
quelle
$this->preventMinorsGuard();
. Kann so verwendet werden?Ein Guard ist eine Möglichkeit, die Logik bereitzustellen, mit der authentifizierte Benutzer identifiziert werden. Laravel bietet verschiedene Wachen wie Sitzungen und Token. Der Sitzungswächter behält den Status des Benutzers in jeder Anforderung durch Cookies bei, und andererseits authentifiziert der Token-Schutz den Benutzer, indem er in jeder Anforderung ein gültiges Token überprüft.
quelle
Da ich dieselbe Frage hatte und die anderen Antworten mir nicht die gesuchten Informationen lieferten (sie erklären perfekt, was ein Wachmann tut, aber nicht, warum Sie sich jemals Sorgen machen sollten, seine Methoden aufzurufen), werde ich eine andere Antwort geben.
Ich war mir auch nicht sicher über den Unterschied zwischen den vom
auth()
Helfer bereitgestellten Methoden und den vom Wachmann selbst bereitgestellten Methodenauth()->guard()
, da sie anscheinend dasselbe taten.Ein kurzer Überblick
dd(auth())
zeigt, dass eine Instanz von zurückgegeben wirdAuthManager
. Wir können diese Klasse also im Quellcode nachschlagen : Am Ende von AuthManager.php befindet sich eine__call()
magische Methode, die alle undefinierten Aufrufe an ihre eigeneguard()
Methode weiterleitet .public function __call($method, $parameters) { return $this->guard()->{$method}(...$parameters); }
Dies zeigt uns deutlich, dass die Methoden von
auth()
undauth()->guard()
nicht nur dasselbe zu tun scheinen, sondern genau gleich sind . Solange der Standardschutz verwendet werden soll, kann ein zusätzlicher Schutz->guard()
problemlos weggelassen werden.quelle
Die Schutzrolle besteht darin, Routen zu authentifizieren
quelle