In Symfony 4, die AuthenticatorInterface::supports()
Methode hat den folgenden Kommentar:Was ist der Zweck der AuthenticatorInterface :: supports() -Methode?
interface AuthenticatorInterface extends AuthenticationEntryPointInterface
{
/**
* Does the authenticator support the given Request?
*
* If this returns false, the authenticator will be skipped.
*
* @param Request $request
*
* @return bool
*/
public function supports(Request $request);
ich die Formulierung verwirrend finden. Mein erster Instinkt, als ich versuchte, dies zu implementieren, war, wahr zurückzugeben, wenn die Anfrage ein Feld username
und password
enthält, aber dann erinnerte ich mich, dass alle Anfragen, die ich erhalte, authentifiziert werden, auch wenn ich das Login-Formular nicht benutze.
Ist die supports()
Methode eine Möglichkeit, das security.firewalls.myFirewall.pattern
Argument zu übersteuern? Ist es eine Sache, die den Fluss zwischen mehreren Authentifikatoren behandelt?
Wie soll ich diese Schnittstelle benutzen?
Nach dem Quellcode ein bisschen mehr zu lesen, das ist meine Vermutung als gut. Es sieht so aus, als würde es verwendet werden, wenn wir mehrere Authenticators innerhalb einer bestimmten Firewall haben. – Loupax
Nachdem ich die Dokumente ein wenig mehr ausgegraben habe, habe ich folgendes gefunden: https://symfony.com/blog/new-in-symfony-3-4-guard -authentication-improvements Das klingt so, als würden wir nur dann true zurückgeben, wenn der Benutzer das Anmeldeformular einreicht. – Loupax
Sie sollten eine Antwort mit dem Inhalt Ihres Kommentars geschrieben haben. Ich habe sie nicht gesehen, bevor ich meins geschrieben habe, aber du hattest eine gute Erklärung! – AlterPHP