Spring Boot

Fondamenti di Spring Security

Spring Security, autenticazione, autorizzazione, SecurityFilterChain, UserDetailsService, PasswordEncoder

25 domande da colloquio·
Mid-Level
1

Che cos'è Spring Security?

Risposta

Spring Security è un framework di sicurezza per applicazioni Spring che fornisce funzionalità di autenticazione e autorizzazione. Protegge le applicazioni da attacchi comuni (CSRF, XSS, session fixation) e offre integrazione con vari meccanismi di autenticazione (form login, HTTP Basic, OAuth2, JWT). Il framework utilizza una catena di filtri (Security Filter Chain) per intercettare ed elaborare le richieste HTTP prima che raggiungano i controller.

2

Qual è la differenza tra autenticazione e autorizzazione in Spring Security?

Risposta

L'autenticazione verifica l'identità dell'utente (chi sei?), tipicamente tramite username/password, mentre l'autorizzazione verifica i permessi (cosa puoi fare?). L'autenticazione avviene per prima e crea un SecurityContext con le informazioni dell'utente. L'autorizzazione utilizza poi queste informazioni per decidere se l'utente può accedere a una risorsa specifica. Ad esempio, un utente può essere autenticato con successo ma non autorizzato ad accedere a /admin se il suo ruolo è USER e non ADMIN.

3

Che cos'è il SecurityContext in Spring Security?

Risposta

Il SecurityContext è un oggetto che contiene le informazioni di sicurezza dell'utente attualmente autenticato, principalmente l'oggetto Authentication. È memorizzato nel SecurityContextHolder ed è accessibile per tutta l'elaborazione della richiesta. Dopo un'autenticazione riuscita, Spring Security crea un SecurityContext contenente un Authentication con i dettagli dell'utente (username, authorities, credentials). Questo contesto consente all'applicazione di verificare chi è l'utente corrente e quali sono i suoi permessi.

4

Come memorizza SecurityContextHolder il SecurityContext per impostazione predefinita?

5

Qual è il ruolo dell'interfaccia UserDetails in Spring Security?

+22 domande da colloquio

Padroneggia Spring Boot per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis