
Sicurezza avanzata
Custom authenticators, voters, security expressions, protezione CSRF, prevenzione XSS, rate limiting, hardening in produzione, configurazioni errate di JWT/OAuth2
1Quale interfaccia deve implementare un custom authenticator in Symfony 6+?
Quale interfaccia deve implementare un custom authenticator in Symfony 6+?
Risposta
In Symfony 6+, i custom authenticator devono implementare AuthenticatorInterface del componente Security HTTP. Questa interfaccia definisce i metodi supports(), authenticate(), onAuthenticationSuccess(), onAuthenticationFailure() e, opzionalmente, createToken(). Sostituisce il vecchio sistema Guard utilizzato in Symfony 4/5.
2Qual è il ruolo del metodo supports() in un custom authenticator?
Qual è il ruolo del metodo supports() in un custom authenticator?
Risposta
Il metodo supports() determina se l'authenticator deve gestire la richiesta corrente. Riceve la Request e restituisce un booleano. Se true, verranno chiamati il metodo authenticate() e poi onAuthenticationSuccess() o onAuthenticationFailure(). Questo consente di avere più authenticator attivi sullo stesso firewall, ognuno dei quali gestisce un tipo di autenticazione specifico.
3Cosa deve restituire il metodo authenticate() di un custom authenticator in caso di successo?
Cosa deve restituire il metodo authenticate() di un custom authenticator in caso di successo?
Risposta
Il metodo authenticate() deve restituire un oggetto Passport contenente un UserBadge (identificatore dell'utente) e credentials badge. Il Passport può contenere anche badge aggiuntivi come CsrfTokenBadge o RememberMeBadge. Symfony usa quindi questo Passport per creare il token di autenticazione e caricare l'utente tramite lo UserProvider.
Come definire un Voter personalizzato per controllare l'accesso a una risorsa specifica?
Quale strategia dell'AccessDecisionManager è consigliata per le applicazioni che richiedono una sicurezza rigorosa?
+19 domande da colloquio
Altri argomenti di colloquio Symfony
PHP Moderno (8.1+)
Fondamenti di Symfony
Routing & Controllers
Twig & Templates
Fondamenti di Doctrine ORM
Form Symfony
Validazione dei dati
Dependency Injection & Services
Security & Authentication
Doctrine avanzato
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache e prestazioni
Workflow Component
Testing Symfony
Mailer Component
Traduzioni e i18n
EasyAdmin Bundle
Architettura Symfony
Performance e ottimizzazione
Bundle Personalizzati
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
Padroneggia Symfony per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis