Το Spring Security είναι μια servlet filter chain που παρεμβάλλεται σε κάθε request πριν φτάσει στον controller σου. Η authentication απαντά «ποιος είσαι;»· η authorization απαντά «σου επιτρέπεται να το κάνεις αυτό;». Για stateless REST APIs, η συνήθης προσέγγιση είναι το JWT (JSON Web Token) αντί για server-side sessions.
Η ροή του 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
