
Seguridad avanzada
Custom authenticators, voters, security expressions, protección CSRF, prevención de XSS, rate limiting, hardening en producción, configuraciones incorrectas de JWT/OAuth2
1¿Qué interfaz debe implementar un custom authenticator en Symfony 6+?
¿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?
¿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?
¿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.
¿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?
+19 preguntas de entrevista
Otros temas de entrevista Symfony
PHP Moderno (8.1+)
Fundamentos de Symfony
Routing & Controllers
Twig & Templates
Fundamentos de Doctrine ORM
Formularios Symfony
Validación de datos
Dependency Injection & Services
Security & Authentication
Doctrine avanzado
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache y Rendimiento
Workflow Component
Testing Symfony
Mailer Component
Traducciones e i18n
EasyAdmin Bundle
Arquitectura Symfony
Rendimiento y optimización
Bundles Personalizados
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
Domina Symfony para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis