Symfony

Erweiterte Sicherheit

Custom Authenticators, Voters, Security Expressions, CSRF-Schutz, XSS-Prävention, Rate Limiting, Production Hardening, JWT/OAuth2-Fehlkonfigurationen

22 Interview-Fragen·
Senior
1

Welche Schnittstelle muss ein Custom Authenticator in Symfony 6+ implementieren?

Antwort

In Symfony 6+ müssen Custom Authenticators das AuthenticatorInterface aus der Security-HTTP-Komponente implementieren. Diese Schnittstelle definiert die Methoden supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() und optional createToken(). Sie ersetzt das alte Guard-System, das in Symfony 4/5 verwendet wurde.

2

Welche Rolle hat die Methode supports() in einem Custom Authenticator?

Antwort

Die Methode supports() bestimmt, ob der Authenticator die aktuelle Anfrage verarbeiten soll. Sie erhält die Request und gibt einen Boolean zurück. Bei true werden die Methode authenticate() und anschließend onAuthenticationSuccess() oder onAuthenticationFailure() aufgerufen. Dadurch können mehrere aktive Authenticators auf demselben Firewall vorhanden sein, von denen jeder einen bestimmten Authentifizierungstyp verarbeitet.

3

Was sollte die Methode authenticate() eines Custom Authenticators bei Erfolg zurückgeben?

Antwort

Die Methode authenticate() muss ein Passport-Objekt zurückgeben, das ein UserBadge (Benutzerkennung) und Credentials-Badges enthält. Der Passport kann auch zusätzliche Badges wie CsrfTokenBadge oder RememberMeBadge enthalten. Symfony verwendet diesen Passport dann, um das Authentifizierungs-Token zu erstellen und den Benutzer über den UserProvider zu laden.

4

Wie definiert man einen benutzerdefinierten Voter, um den Zugriff auf eine bestimmte Ressource zu steuern?

5

Welche AccessDecisionManager-Strategie wird für Anwendungen empfohlen, die strenge Sicherheit erfordern?

+19 Interview-Fragen

Meistere Symfony für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten