Sichere reaktive Webanwendungen mit Spring Security 5

Mit dem Project Reactor und Spring 5 hat die reaktive Programmierung den Weg in die Spring-Welt gefunden. Doch wie sieht es mit der Sicherheit von reaktiven Webanwendungen in heutigen Microservices-Architekturen aus? Im Kontext von Cloud und Microservices wird man hier unweigerlich mit Protokollen wie OAuth2 und OpenID Connect konfrontiert.

Wir starten zunächst mit einer Einführung in die Grundlagen der reaktiven Programmierung mit Spring Webflux und dem Project Reactor. Dem neuen Ansatz nähern wir uns in ersten Übungen. Daran anschließend beginnen wir zusammen, eine initial ungesicherte reaktive Webanwendung mit Spring Security 5 und Spring Boot 2 schrittweise sicherer zu machen.

Vorkenntnisse

– Java
– Spring Framework (Grundkenntnisse)
– Notebook mit installiertem Git und Java JDK (Version 8 oder 11) sowie eine Java-IDE.

Lernziele

– Grundlagen der Programmierung von reaktiven Streams mit dem Project Reactor und Spring WebFlux
– Basis-Sicherheit durch die automatische Konfiguration mit Spring Boot
– Benutzerdefinierte Sicherheit (User/Passwort Authentifizierung mit persistenter Benutzerdatenbank und sicherem Passworthashing)
– Reaktive Unterstützung für Security und was sich im Vergleich zur Sicherung blockierender servletbasierter Anwendungen geändert hat.
– Sicherung von Spring Boot Actuator Monitoring Endpunkten
– Autorisierung von Zugriffen auf verschiedenen Ebenen (Rest-API, Methoden)
– Implementierung automatisierter Sicherheitstests
– Authentifizierung mit OAuth 2.0 und OpenID Connect

 

Agenda

9:00 - 10:30
- Überblick über den Workshop
- Einführung in Reactive Streams und die Reaktive Programmierung
- Praktische Übungen zur reaktiven Programmierung mit Reactor

10:30 - 10:45 Kaffeepause

10:45 - 12:00
- Einstieg in die reaktive Beispiel-Webanwendung (Spring WebFlux)
- Übung 1: Basis Sicherheit mit Spring Boot Autokonfiguration
- Übung 2: Benutzerdefinierte Authentifizierung mit Spring Security

12.00 - 13:00 Mittagspause

13:00 - 14:30
- Übung 3: Autorisierung
- Übung 4: Automatisierte Security Tests

14:30 - 14:45 Kaffeepause

14:45 - 16:00
- Einführung in OAuth 2.0 und OpenID Connect
- Übung 5: Implementierung eines OAuth 2.0 und OpenID Connect Resource Servers

 

Technische Anforderungen:

Die Teilnehmer*innen sollten folgendes auf ihrem Rechner vorinstalliert haben:
- Ein Java SDK (Version 8 oder 11)
- Eine Java IDE (egal ob IntelliJ, Eclipse oder VS Code), der Referent verwendet im Workshop IntelliJ
- Git um ein GitHub Repository zu clonen
- Optimal wäre eine installierte Docker Version (Optional)

Alle Workshop Inhalte sowie Anweisungen zum Setup für den Workshop sind im folgenden GitHub Repository zu finden: https://github.com/andifalk/reactive-spring-security-5-workshop

Bitte beachten: Die Inhalte des Repositories können sich bis zum Workshop nochmal verändern, optimalerweise führen Sie das Setup zum Workshop erst zeitnah eine Woche vor Beginn des Workshops durch.

Speaker

 

Andreas Falk
Andreas Falk arbeitet für die Novatec Consulting mit Sitz in Stuttgart. In verschiedenen Projekten ist er als Architekt, Coach und Entwickler im Einsatz. Sein Schwerpunkt liegt auf der agilen Entwicklung von Cloud-nativen Java-Anwendungen. Als Mitglied des OWASP und der OpenID Foundation beschäftigt er sich auch gerne mit allen Aspekten der Anwendungssicherheit.

Sponsoren

Gold
Silber
Bronze
Mathema
esolutions
Nürnberger Versicherungen
Angular Architects

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden