Podstawy Spring Security
Spring Security, uwierzytelnianie, autoryzacja, SecurityFilterChain, UserDetailsService, PasswordEncoder
1Czym jest Spring Security?
Czym jest Spring Security?
Odpowiedź
Spring Security to framework bezpieczeństwa dla aplikacji Spring, który zapewnia funkcje uwierzytelniania i autoryzacji. Chroni aplikacje przed typowymi atakami (CSRF, XSS, session fixation) i oferuje integrację z różnymi mechanizmami uwierzytelniania (form login, HTTP Basic, OAuth2, JWT). Framework wykorzystuje łańcuch filtrów (Security Filter Chain) do przechwytywania i przetwarzania żądań HTTP, zanim dotrą one do kontrolerów.
2Jaka jest różnica między uwierzytelnianiem a autoryzacją w Spring Security?
Jaka jest różnica między uwierzytelnianiem a autoryzacją w Spring Security?
Odpowiedź
Uwierzytelnianie weryfikuje tożsamość użytkownika (kim jesteś?), zazwyczaj poprzez username/password, natomiast autoryzacja weryfikuje uprawnienia (co możesz zrobić?). Uwierzytelnianie następuje jako pierwsze i tworzy SecurityContext z informacjami o użytkowniku. Następnie autoryzacja wykorzystuje te informacje, aby zdecydować, czy użytkownik może uzyskać dostęp do określonego zasobu. Na przykład użytkownik może zostać pomyślnie uwierzytelniony, ale nie być autoryzowany do dostępu do /admin, jeśli jego rola to USER, a nie ADMIN.
3Czym jest SecurityContext w Spring Security?
Czym jest SecurityContext w Spring Security?
Odpowiedź
SecurityContext to obiekt, który zawiera informacje o zabezpieczeniach aktualnie uwierzytelnionego użytkownika, przede wszystkim obiekt Authentication. Jest przechowywany w SecurityContextHolder i dostępny przez całe przetwarzanie żądania. Po pomyślnym uwierzytelnieniu Spring Security tworzy SecurityContext zawierający obiekt Authentication ze szczegółami użytkownika (username, authorities, credentials). Ten kontekst pozwala aplikacji sprawdzić, kim jest bieżący użytkownik i jakie ma uprawnienia.
W jaki sposób SecurityContextHolder domyślnie przechowuje SecurityContext?
Jaka jest rola interfejsu UserDetails w Spring Security?
+22 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Zapytania JPA
Spring Data Repositories
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo