Spring Security

Opis

Z jednej strony bezpieczeństwo aplikacji, to jeden z najbardziej kluczowych aspektów tworzonych systemów. Z drugiej strony kompetencje programistów w tym obszarze są często połowiczne, a bezpieczeństwo jest jedną z ostatnich rzeczy branych pod uwagę podczas implementacji przez zespół deweloperski lub zwyczajnie ignorowanych. Celem szkolenia jest praktyczne przekazanie umiejętności związanych z użyciem Spring Security oraz pełne zrozumienie jego mechanizmów. Zakres tematów dotyczy zarówno bezpieczeństwo na poziomie metod jak i aplikacji sieciowej, zarówno w podejściu klasycznym jak i reaktywnym. Szkolenie dotyczy ostatniej dużej oficjalnie wydanej wersji Spring Security.

Szczegółowy program

Moduł 1.
Wprowadzenie
  • Wprowadzenie do Spring Security
  • Rola AOP oraz filtru serwletowego
  • Autokonfiguracja
Moduł 2.
Bazowy przykład
  • Przykładowe Hello Security
  • Co wnosi autokonfiguracja?
  • Składowe architektury
  • Główne cechy Spring Security
Moduł 3.
Autentykacja
  • Czym jest autentykacja?
  • Autentykacja In-Memory
  • Authentykacja JDBC
  • Autentykacja LDAP
  • Login i logout
  • Interfejs AuthenticationProvider i jego implementacja
  • Interfejs UserDetailsServices i jego implementacja
  • Architektura autentykacji dla WebFlux
  • Audit Events
Moduł 4.
Uwierzytelnianie aplikacji sieciowej
  • Czym jest uwierzytelnianie?
  • Bazowy przykład
  • Konfiguracja uwierzytelniania aplikacji sieciowej
  • Składowe API uwierzytelniania aplikacji sieciowej
  • Konfiguracja uwierzytelniania dla WebFlux
  • Składowe API uwierzytelniania dla WebFlux
  • Actuator
Moduł 5.
Ochrona przed atakami
  • Cache Control
  • HTTPS
  • XSS
  • Content Sniffing
  • CORS
  • CSRF
  • Własne repozytorium tokenów CSRF
  • Session Fixation
  • Click Jacking
  • CSP
  • RFD Attacks
  • HttpFirewall
Moduł 6.
Uwierzytelnianie na poziomie wywołania metod
  • Do czego może być przydatne bezpieczeństwo na poziomie metod?
  • Definiowanie ról
  • Przykładowa aplikacja
  • Integracja z innymi mechanizmami Spring Security
  • Uwierzytelnianie dla reaktywnego API
  • JSR 250, @Secured, @PreAuthorize/@PostAuthorize
  • Spring Data integration
Moduł 7.
OAuth2
  • Wprowadzenie do OAuth2
  • Różne warianty OAuth2
  • Bazowa konfiguracja
  • Serwer zasobów (Resource Server)
  • Integracja z WebClient
  • Implementacja wariantu Authorization Code
Moduł 8.
Testowanie bezpieczeństwa Spring Security
  • Testowanie bezpieczeństwa na poziomie wywołania metod
  • Testowanie bezpieczeństwa aplikacji sieciowej z użyciem MockMvc
  • Testowanie bezpieczeństwa aplikacji sieciowej z użyciem HtmlUnit
  • Testowanie bezpieczeństwa aplikacji sieciowej z użyciem WebTestClient

Parametry szkolenia

Czas trwania
2 x 8h
Forma zajęć
Ćwiczenia - 90%, wykład - 10%
Kod
SSEC
Wielkość grupy
do 12 osób

Jak zamówić

« lista szkoleń