Symfony

Sécurité avancée

Custom authenticators, voters, security expressions, CSRF protection, XSS prevention, rate limiting, production hardening, JWT/OAuth2 misconfigurations

22 questions d'entretien·
Senior
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.

4

Comment définir un Voter personnalisé pour contrôler l'accès à une ressource spécifique ?

5

Quelle stratégie de l'AccessDecisionManager est recommandée pour les applications nécessitant une sécurité stricte ?

+19 questions d'entretien

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