Symfony

Sicurezza avanzata

Custom authenticators, voters, security expressions, protezione CSRF, prevenzione XSS, rate limiting, hardening in produzione, configurazioni errate di JWT/OAuth2

22 domande da colloquio·
Senior
1

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.

2

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.

3

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.

4

Come definire un Voter personalizzato per controllare l'accesso a una risorsa specifica?

5

Quale strategia dell'AccessDecisionManager è consigliata per le applicazioni che richiedono una sicurezza rigorosa?

+19 domande da colloquio

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