# Seguridad avanzada (Symfony) > Custom authenticators, voters, security expressions, protección CSRF, prevención de XSS, rate limiting, hardening en producción, configuraciones incorrectas de JWT/OAuth2 - 22 preguntas de entrevista - Senior - [Preguntas de entrevista: Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista.md) ## 1. ¿Qué interfaz debe implementar un custom authenticator en Symfony 6+? **Respuesta** En Symfony 6+, los custom authenticators deben implementar AuthenticatorInterface del componente Security HTTP. Esta interfaz define los métodos supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() y opcionalmente createToken(). Reemplaza el antiguo sistema Guard que se usaba en Symfony 4/5. ## 2. ¿Cuál es el rol del método supports() en un custom authenticator? **Respuesta** El método supports() determina si el authenticator debe procesar la petición actual. Recibe la Request y devuelve un booleano. Si es true, se llamará al método authenticate() seguido de onAuthenticationSuccess() u onAuthenticationFailure(). Esto permite tener varios authenticators activos en el mismo firewall, cada uno gestionando un tipo de autenticación específico. ## 3. ¿Qué debe devolver el método authenticate() de un custom authenticator en caso de éxito? **Respuesta** El método authenticate() debe devolver un objeto Passport que contiene un UserBadge (identificador del usuario) y credentials badges. El Passport también puede contener badges adicionales como CsrfTokenBadge o RememberMeBadge. Symfony usa luego este Passport para crear el token de autenticación y cargar el usuario a través del UserProvider. ## 19 preguntas más disponibles - ¿Cómo definir un Voter personalizado para controlar el acceso a un recurso específico? - ¿Qué estrategia del AccessDecisionManager se recomienda para aplicaciones que requieren seguridad estricta? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Symfony - [PHP Moderno (8.1+)](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/php-modern-features.md): 20 preguntas, Junior - [Fundamentos de Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/symfony-basics.md): 25 preguntas, Junior - [Routing & Controllers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/routing-controllers.md): 20 preguntas, Junior - [Twig & Templates](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/twig-templates.md): 20 preguntas, Junior - [Fundamentos de Doctrine ORM](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-orm-basics.md): 25 preguntas, Junior - [Formularios Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/forms.md): 22 preguntas, Junior - [Validación de datos](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/validation.md): 18 preguntas, Junior - [Dependency Injection & Services](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/dependency-injection.md): 24 preguntas, Mid-Level - [Security & Authentication](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-authentication.md): 26 preguntas, Mid-Level - [Doctrine avanzado](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-advanced.md): 24 preguntas, Mid-Level - [API Platform](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/api-platform.md): 22 preguntas, Mid-Level - [Serializer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/serializer.md): 20 preguntas, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/events-subscribers.md): 20 preguntas, Mid-Level - [Console & Commands](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/console-commands.md): 18 preguntas, Mid-Level - [Messenger Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/messenger.md): 22 preguntas, Mid-Level - [HTTP Client](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Cache y Rendimiento](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/cache.md): 20 preguntas, Mid-Level - [Workflow Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/workflow.md): 18 preguntas, Mid-Level - [Testing Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Mailer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/mailer.md): 16 preguntas, Mid-Level - [Traducciones e i18n](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/translations.md): 16 preguntas, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/easyadmin.md): 18 preguntas, Mid-Level - [Arquitectura Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/architecture-patterns.md): 24 preguntas, Senior - [Rendimiento y optimización](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Bundles Personalizados](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/custom-bundles.md): 20 preguntas, Senior - [Microservices con Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/microservices.md): 22 preguntas, Senior - [Real-time & WebSockets](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/real-time.md): 18 preguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/deployment-devops.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-advanced