Fondamenti di Spring Security
Spring Security, autenticazione, autorizzazione, SecurityFilterChain, UserDetailsService, PasswordEncoder
1Che cos'è Spring Security?
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.
2Qual è la differenza tra autenticazione e autorizzazione in Spring Security?
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.
3Che cos'è il SecurityContext in Spring Security?
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.
Come memorizza SecurityContextHolder il SecurityContext per impostazione predefinita?
Qual è il ruolo dell'interfaccia UserDetails in Spring Security?
+22 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
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