Book Image

Hands-On Spring Security 5 for Reactive Applications

By : Tomcy John
Book Image

Hands-On Spring Security 5 for Reactive Applications

By: Tomcy John

Overview of this book

Spring Security enables developers to seamlessly integrate authorization, authentication, and a range of security features for complex enterprise applications. This book provides a hands-on approach to developing reactive applications using Spring and will help you get up and running in no time. Complete with step-by-step explanations, practical examples, and self-assessment questions, the book begins by explaining the essential concepts of reactive programming, Spring Framework, and Spring Security. You’ll then learn about a variety of authentication mechanisms and how to integrate them easily with a Spring MVC application. You’ll also understand how to achieve authorization in a Spring WebFlux application using Spring Security. Furthermore, the book will take you through the configuration required to implement OAuth2 for securing REST APIs, and guide you in integrating security in microservices and serverless applications. Finally, you’ll be able to augment add-ons that will enhance any Spring Security module. By the end of the book, you’ll be equipped to integrate Spring Security into your Java enterprise applications proficiently.
Table of Contents (15 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Sample project


Enough explanation; it's time to get our hands dirty with actual code. In this section, we will create a movie catalog site with integrated Spring Security. We will be using reactive concepts throughout and will use form-based login. We will start with hardcoded users and then see how we can look at a persistent user store to authenticate the users against. We will then into testing in more detail and finally look at some customizations that we can bring to Spring Security pages. Finally, we will touch base on authorization aspects and close the sample application.

 

 

 

 

 

 

WebFlux project setup

We will create a basic WebFlux-based web application first, and will slowly add other features, including security, in it. The whole code is available in our book's GitHub page, under the chapter's folder, namely spring-boot-webflux.

I am using IntelliJ as my IDE, and since we are using Lombok library (annotation preprocessor), make sure to enable the Lombok plugin, so as to generate appropriate...