Spring Security Grundlagen
Spring Security, Authentifizierung, Autorisierung, SecurityFilterChain, UserDetailsService, PasswordEncoder
1Was ist Spring Security?
Was ist Spring Security?
Antwort
Spring Security ist ein Sicherheits-Framework für Spring-Anwendungen, das Authentifizierungs- und Autorisierungsfunktionen bereitstellt. Es schützt Anwendungen vor gängigen Angriffen (CSRF, XSS, Session Fixation) und bietet Integration mit verschiedenen Authentifizierungsmechanismen (Form Login, HTTP Basic, OAuth2, JWT). Das Framework verwendet eine Filterkette (Security Filter Chain), um HTTP-Anfragen abzufangen und zu verarbeiten, bevor sie die Controller erreichen.
2Was ist der Unterschied zwischen Authentifizierung und Autorisierung in Spring Security?
Was ist der Unterschied zwischen Authentifizierung und Autorisierung in Spring Security?
Antwort
Die Authentifizierung überprüft die Identität des Benutzers (Wer bist du?), typischerweise über username/password, während die Autorisierung die Berechtigungen überprüft (Was darfst du tun?). Die Authentifizierung erfolgt zuerst und erstellt einen SecurityContext mit den Benutzerinformationen. Die Autorisierung verwendet dann diese Informationen, um zu entscheiden, ob der Benutzer auf eine bestimmte Ressource zugreifen darf. Beispielsweise kann ein Benutzer erfolgreich authentifiziert, aber nicht autorisiert sein, auf /admin zuzugreifen, wenn seine Rolle USER und nicht ADMIN ist.
3Was ist der SecurityContext in Spring Security?
Was ist der SecurityContext in Spring Security?
Antwort
Der SecurityContext ist ein Objekt, das die Sicherheitsinformationen des aktuell authentifizierten Benutzers enthält, hauptsächlich das Authentication-Objekt. Er wird im SecurityContextHolder gespeichert und ist während der gesamten Anfrageverarbeitung zugänglich. Nach einer erfolgreichen Authentifizierung erstellt Spring Security einen SecurityContext, der ein Authentication mit den Benutzerdetails (username, authorities, credentials) enthält. Dieser Kontext ermöglicht es der Anwendung zu prüfen, wer der aktuelle Benutzer ist und welche Berechtigungen er hat.
Wie speichert SecurityContextHolder den SecurityContext standardmäßig?
Welche Rolle spielt die UserDetails-Schnittstelle in Spring Security?
+22 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Data Repositories
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten