Spring Boot

Podstawy Spring Security

Spring Security, uwierzytelnianie, autoryzacja, SecurityFilterChain, UserDetailsService, PasswordEncoder

25 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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.

4

W jaki sposób SecurityContextHolder domyślnie przechowuje SecurityContext?

5

Jaka jest rola interfejsu UserDetails w Spring Security?

+22 pytań z rozmów

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