Spring Security ਇੱਕ servlet filter chain ਹੈ ਜੋ ਤੁਹਾਡੇ controller ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ request ਨੂੰ intercept ਕਰਦੀ ਹੈ। Authentication ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ "ਤੁਸੀਂ ਕੌਣ ਹੋ?"; authorization ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ "ਕੀ ਤੁਹਾਨੂੰ ਇਹ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ?"। stateless REST APIs ਲਈ, ਆਮ ਪਹੁੰਚ server-side sessions ਦੀ ਥਾਂ JWT (JSON Web Token) ਹੈ।
JWT flow
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
