Spring Security to serwletowy łańcuch filtrów, który przechwytuje każde żądanie, zanim dotrze ono do twojego kontrolera. Uwierzytelnianie odpowiada na pytanie „kim jesteś?”; autoryzacja odpowiada na „czy wolno ci to zrobić?”. Dla bezstanowych API REST powszechnym podejściem jest JWT (JSON Web Token) zamiast sesji po stronie serwera.
Przepływ JWT
POST /login (user+pass) ──▶ AuthController verifies ──▶ signs JWT ──▶ returns token
│
Client stores it, then sends on every call: ▼
GET /api/orders Authorization: Bearer <jwt> ──▶ JwtFilter validates ──▶ controller
