Spring Security è una filter chain servlet che intercetta ogni richiesta prima che raggiunga il tuo controller. L'autenticazione risponde a "chi sei?"; l'autorizzazione risponde a "ti è permesso farlo?". Per le API REST stateless, l'approccio comune è il JWT (JSON Web Token) invece delle sessioni lato server.
Il flusso 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
