
Sécurité avancée
Custom authenticators, voters, security expressions, CSRF protection, XSS prevention, rate limiting, production hardening, JWT/OAuth2 misconfigurations
1Quelle interface doit implémenter un custom authenticator dans Symfony 6+ ?
Quelle interface doit implémenter un custom authenticator dans Symfony 6+ ?
Réponse
Dans Symfony 6+, les custom authenticators doivent implémenter AuthenticatorInterface du composant Security HTTP. Cette interface définit les méthodes supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() et optionnellement createToken(). Elle remplace l'ancien système Guard qui était utilisé dans Symfony 4/5.
2Quel est le rôle de la méthode supports() dans un custom authenticator ?
Quel est le rôle de la méthode supports() dans un custom authenticator ?
Réponse
La méthode supports() détermine si l'authenticator doit traiter la requête courante. Elle reçoit la Request et retourne un booléen. Si true, les méthodes authenticate() puis onAuthenticationSuccess() ou onAuthenticationFailure() seront appelées. Cela permet d'avoir plusieurs authenticators actifs sur le même firewall, chacun gérant un type d'authentification spécifique.
3Que doit retourner la méthode authenticate() d'un custom authenticator en cas de succès ?
Que doit retourner la méthode authenticate() d'un custom authenticator en cas de succès ?
Réponse
La méthode authenticate() doit retourner un objet Passport contenant un UserBadge (identifiant de l'utilisateur) et des credentials badges. Le Passport peut aussi contenir des badges supplémentaires comme CsrfTokenBadge ou RememberMeBadge. Symfony utilise ensuite ce Passport pour créer le token d'authentification et charger l'utilisateur via le UserProvider.
Comment définir un Voter personnalisé pour contrôler l'accès à une ressource spécifique ?
Quelle stratégie de l'AccessDecisionManager est recommandée pour les applications nécessitant une sécurité stricte ?
+19 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Doctrine ORM - Les bases
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Testing Symfony
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Performance & Optimisation
Custom Bundles
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
Maîtrise Symfony pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement