Spring Security - Les bases
Spring Security, authentification, autorisation, SecurityFilterChain, UserDetailsService, PasswordEncoder
1Qu'est-ce que Spring Security ?
Qu'est-ce que Spring Security ?
Réponse
Spring Security est un framework de sécurité pour les applications Spring qui fournit des fonctionnalités d'authentification et d'autorisation. Il protège les applications contre les attaques courantes (CSRF, XSS, session fixation) et offre une intégration avec différents mécanismes d'authentification (form login, HTTP Basic, OAuth2, JWT). Le framework utilise une chaîne de filtres (Security Filter Chain) pour intercepter et traiter les requêtes HTTP avant qu'elles n'atteignent les controllers.
2Quelle est la différence entre authentication et authorization dans Spring Security ?
Quelle est la différence entre authentication et authorization dans Spring Security ?
Réponse
Authentication vérifie l'identité de l'utilisateur (qui ?), typiquement via username/password, tandis qu'authorization vérifie les permissions (que faire ?). L'authentication se produit d'abord et crée un SecurityContext avec les informations de l'utilisateur. L'authorization utilise ensuite ces informations pour décider si l'utilisateur peut accéder à une ressource spécifique. Par exemple, un utilisateur peut être authentifié avec succès mais ne pas être autorisé à accéder à /admin si son rôle est USER et non ADMIN.
3Qu'est-ce que le SecurityContext dans Spring Security ?
Qu'est-ce que le SecurityContext dans Spring Security ?
Réponse
Le SecurityContext est un objet qui contient les informations de sécurité de l'utilisateur actuellement authentifié, principalement l'objet Authentication. Il est stocké dans le SecurityContextHolder et accessible tout au long du traitement de la requête. Après une authentification réussie, Spring Security crée un SecurityContext contenant un Authentication avec les détails de l'utilisateur (username, authorities, credentials). Ce contexte permet à l'application de vérifier qui est l'utilisateur courant et quelles sont ses permissions.
Comment SecurityContextHolder stocke-t-il le SecurityContext par défaut ?
Quel est le rôle de l'interface UserDetails dans Spring Security ?
+22 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement