Introduction

A framework for authentication and authorization in Spring applications.

Use it to:

Core Concepts

Concept Purpose
Authentication Verify identity (username/password, token)
Authorization Verify permission to access resources
Filter Chain Intercepts requests to apply security rules
UserDetailsService Loads user info from DB or other source
PasswordEncoder Hashes passwords securely
Roles/Authorities Define access privileges

Flow

HTTP Request
    ↓
Security Filter Chain (spring security filters)
    ↓
AuthenticationManager (checks credentials)
    ↓
UserDetailsService (loads user details from DB)
    ↓
PasswordEncoder (validates password)
    ↓
Authentication success (set SecurityContext)
    ↓
Authorization (check roles/permissions)
    ↓
Controller or Resource access granted/denied