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

Reactive support in Spring 5


Spring Framework 5 has extensive support for a reactive programming paradigm. Many of the modules have embraced this concept with both hands and are making it a first-class citizen. The following diagram summarizes the Spring 5 support of reactive:

Figure 4: Spring 5 and reactive support

Spring WebFlux module is a full-fledged web application framework built on top of a reactive programming paradigm (it uses Reactor and RxJava). Some of the early adopters of reactive programming in the Spring/Java ecosystem were Spring Data, Spring Security, and Thymeleaf. Spring Security has a number of features that supports reactive programming.

Spring Data has reactive support for Redis, MongoDB, Couchbase, and Cassandra. It also supports infinite streams (records emitted one by one in the form of a stream) from the database with @Tailable. JDBC inherently is blocking in nature, because of which, Spring Data JPA is blocking and cannot be made reactive.

Reactive in Spring MVC

Even...