
Erweiterte Sicherheit
Custom Authenticators, Voters, Security Expressions, CSRF-Schutz, XSS-Prävention, Rate Limiting, Production Hardening, JWT/OAuth2-Fehlkonfigurationen
1Welche Schnittstelle muss ein Custom Authenticator in Symfony 6+ implementieren?
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.
2Welche Rolle hat die Methode supports() in einem Custom Authenticator?
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.
3Was sollte die Methode authenticate() eines Custom Authenticators bei Erfolg zurückgeben?
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.
Wie definiert man einen benutzerdefinierten Voter, um den Zugriff auf eine bestimmte Ressource zu steuern?
Welche AccessDecisionManager-Strategie wird für Anwendungen empfohlen, die strenge Sicherheit erfordern?
+19 Interview-Fragen
Weitere Symfony-Interviewthemen
Modernes PHP (8.1+)
Symfony-Grundlagen
Routing & Controllers
Twig & Templates
Doctrine ORM Grundlagen
Symfony Formulare
Datenvalidierung
Dependency Injection & Services
Security & Authentication
Doctrine Fortgeschritten
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Testing Symfony
Mailer Component
Übersetzungen & i18n
EasyAdmin Bundle
Symfony-Architektur
Performance & Optimierung
Custom Bundles
Microservices mit Symfony
Real-time & WebSockets
Deployment & DevOps
Meistere Symfony für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten