Adresaci szkolenia

Szkolenie przeznaczone dla programistów znających framework Spring, chcących poznać i zrozumieć zasady funkcjonowania
Spring Security 5.

Cel szkolenia

Celem szkolenia jest przekazanie praktycznej wiedzy z zakresu użycia Spring Security 5. Omawiane będą m.in. takie zagadnienia jak:

  • Bezpieczeństwo w kontekście JEE
  • Zasada działania Spring Security z dużym naciskiem położonym na architekturę tego rozwiązania i wzajemne zależności pomiędzy jego komponentami
  • Praktyczne wykorzystanie mechanizmów Spring Security dostarczanych “na dzień dobry”
  • Rozszerzenie dostępnych mechanizmów Spring Security w celu implementacji własnych wymagań
  • Testowanie mechanizmów bezpieczeństwa

Mocne strony szkolenia

Spring Security jest uznawane za jedno z najlepszych rozwiązań umożliwiających implementację mechanizmów bezpieczeństwa w świecie Javy. Z drugiej jednak strony wiele osób uważa to rozwiązanie za zbyt skomplikowane, gdyż wymaga ono przeznaczenia stosunkowo dużej ilości czasu na zrozumienie zasad jakimi się ono rządzi. Niniejsze szkolenie wychodzi naprzeciw tym problemom i dostarcza konkretnych informacji umożliwiających szybkie odnalezienie się w świecie Spring Security 5. Szkolenie rozpoczyna się od wstępu teoretycznego podczas którego omawiane są kluczowe koncepcje i zależności jakie należy poznać, aby móc “kontrolować” to rozwiązanie. Omawiane są najważniejsze obiekty oraz usługi. Sama teoria to jednak nie wszystko, w dalszych częściach szkolenia zagadnienia zasygnalizowane w części teoretycznej będą wykorzystywane w praktyce. Dzięki temu, w stosunkowo krótkim czasie uczestnik będzie w stanie zdobyć wiedzę, która w trybie nauki samodzielnej jest w zasadzie nieosiągalna do zdobycia w analogicznym czasie.

Wymagania:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java oraz znajomość podstawowych zagadnień związanych z frameworkiem Spring.

Parametry szkolenia

3*8 godzin (3*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

Program szkolenia

  1. Wprowadzenie
    • Podstawowe pojęcia m.in.
      • uwierzytelnienie
      • autoryzacja dostępu
      • integralność danych
      • poufność
    • Bezpieczeństwo na poziomie aplikacji JEE
      • mechanizmy uwierzytelniania
      • transport security
      • integralność danych
      • deklaratywna i programowa kontrola dostępu
  2. Spring Security
    • Omówienie możliwości i kluczowych koncepcji frameworku
    • Przegląd najważniejszych modułów
    • Instalacja i bazowa konfiguracja (Maven/Gradle)
    • Istotne komponenty
      • SecurityContextHolder
      • SecurityContext
      • Authentication Objects
      • Principal i pozyskiwanie informacji o użytkowniku
      • UserDetailsService
    • Mechanizmy związane z uwierzytelnianiem i kontrolą dostępu
    • Podstawowe usługi
      • AuthenticationManager, ProviderManager, AuthenticationProvider
      • UserDetailsService i jego implementacje
      • Password encoders
    • Bazowa konfiguracja z wykorzystaniem Java Configuration i XML
  3. Bezpieczeństwo aplikacji w praktyce
    • Security Filter Chain
    • Podstawowe filtry związane z bezpieczeństwem
      • FilterSecurityInterceptor
      • ExceptionTranslationFilter
      • SecurityContextPersistenceFilter
      • SecurityContextRepository
      • UsernamePasswordAuthenticationFilter
    • Integracja z Servlet API
    • Uwierzytelnianie
      • Basic
      • Digest
      • Formularz logowania
    • Nagłówki związane z bezpieczeństwem oraz CORS
    • Zarządzanie sesją
    • Ochrona przed Cross Site Request Forgery (CSRF)
    • WebSocket Security
    • Autoryzacja dostępu (Authorities, pre/post invocation handling)
    • Hierarchiczne role
    • Wykorzystanie expression language
    • Kontrola dostępu na poziomie komponentów Springowych
  4. Zagadnienia zaawansowane
    • Testowanie w kontekście bezpieczeństwa
    • Rozszerzanie możliwości Spring Security i integracja z niestandardowymi rozwiązaniami
    • Wykorzystanie ACL (Access Control List)
    • Zarządzanie sesjami użytkowników
    • Kontrola zawartości stron webowych poprzez dostępną bibliotekę znaczników (tagi: authorize, authentication, accesscontrollist)
  5. O czym jeszcze warto wiedzieć (teoretyczny zarys)
    • LDAP Authentication
    • JAAS Provider
    • CAS Authentication
    • X.509 Authentication
    • Wsparcie OpenID
    • Projekty rozszerzające możliwości Spring Security

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email