# Sécurité avancée (Symfony) > Custom authenticators, voters, security expressions, CSRF protection, XSS prevention, rate limiting, production hardening, JWT/OAuth2 misconfigurations - 22 questions d'entretien - Senior - [Questions d'entretien: Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien.md) ## 1. 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. ## 2. 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. ## 3. 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. ## 19 questions supplémentaires disponibles - 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 ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Symfony - [PHP Moderne (8.1+)](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/php-modern-features.md): 20 questions, Junior - [Les bases de Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/twig-templates.md): 20 questions, Junior - [Doctrine ORM - Les bases](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-orm-basics.md): 25 questions, Junior - [Formulaires Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/forms.md): 22 questions, Junior - [Validation de données](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Security & Authentication](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-authentication.md): 26 questions, Confirmé - [Doctrine avancé](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-advanced.md): 24 questions, Confirmé - [API Platform](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/api-platform.md): 22 questions, Confirmé - [Serializer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/serializer.md): 20 questions, Confirmé - [Events & Event Subscribers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/events-subscribers.md): 20 questions, Confirmé - [Console & Commands](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/console-commands.md): 18 questions, Confirmé - [Messenger Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/messenger.md): 22 questions, Confirmé - [HTTP Client](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/http-client.md): 18 questions, Confirmé - [Cache & Performance](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/cache.md): 20 questions, Confirmé - [Workflow Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/workflow.md): 18 questions, Confirmé - [Testing Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/testing.md): 22 questions, Confirmé - [Mailer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/mailer.md): 16 questions, Confirmé - [Translations & i18n](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/translations.md): 16 questions, Confirmé - [EasyAdmin Bundle](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/easyadmin.md): 18 questions, Confirmé - [Architecture Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/architecture-patterns.md): 24 questions, Senior - [Performance & Optimisation](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/performance-optimization.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/custom-bundles.md): 20 questions, Senior - [Microservices avec Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-advanced