Leverage the power of Spring Security 6 to protect your modern Java applications from hackers
Key Features
- Architect solutions that leverage Spring Security while remaining loosely coupled
- Implement authentication and authorization with SAML2, OAuth 2, hashing, and encryption algorithms
- Integrate Spring Security with technologies such as microservices, Kubernetes, the cloud, and GraalVM native images
- Purchase of the print or Kindle book includes a free PDF eBook
Book Description
Knowing that experienced hackers are constantly on the prowl to attack your apps can make security one of the most challenging concerns of creating an app. The complexity of properly securing an app is compounded when you must also integrate this factor with legacy code, new technologies, and other frameworks. This book will help you easily secure your Java apps with Spring Security, a trusted and highly customizable authentication and access control framework.
The book starts by showing you how to implement different authentication mechanisms before demonstrating how to properly restrict access to your app. You'll then cover tips for integrating Spring Security with popular web frameworks such as Thymeleaf. The book also features an example of how Spring Security defends against session fixation, moves into concurrency control, and how you can use session management for administrative functions. This fourth edition aligns with Java 17/21 and Spring Security 6, covering advanced security scenarios for RESTful web services and microservices. This ensures you gain a complete understanding of the issues surrounding stateless authentication and discover a concise approach to solving those issues.
By the end of this book, you'll be able to integrate Spring Security 6 with GraalVM native images seamlessly, from start to finish.
What you will learn
- Understand common security vulnerabilities and how to resolve them
- Implement authentication and authorization and learn how to map users to roles
- Integrate Spring Security with LDAP, Kerberos, SAML 2, OpenID, and OAuth
- Get to grips with the security challenges of RESTful web services and microservices
- Configure Spring Security to use Spring Data for authentication
- Integrate Spring Security with Spring Boot, Spring Data, and web applications
- Protect against common vulnerabilities like XSS, CSRF, and Clickjacking
Who this book is for
If you're a Java web developer or an architect with fundamental knowledge of Java 17/21, web services, and the Spring Framework, this book is for you. No previous experience with Spring Security is needed to get started with this book.
Table of Contents
- Anatomy of an Unsafe Application
- Getting Started with Spring Security
- Custom Authentication
- JDBC-based Authentication
- Authentication with Spring Data
- LDAP Directory Services
- Remember-me Services
- Client Certificate Authentication with TLS
- Opening up to OAuth 2
- SAML 2 Support
- Fine-Grained Access Control
- Access Control Lists
- Custom Authorization
- Session Management
- Additional Spring Security Features
- Migration to Spring Security 6
- Microservice Security with OAuth 2 and JSON Web Tokens
- Single Sign-On with the Central Authentication Service
- Build GraalVM Native Images
- Appendix - Additional Reference Material