Głównie w łańcuchu filtrów bezpieczeństwa, zanim request trafi do kontrolera. Filtry budują `SecurityContext` (authentication), a potem reguły autoryzacji decydują o dostępie (URL, method security itd.).
Odpowiedź zaawansowana
Głębiej
Spring Security stoi przed warstwą MVC jako łańcuch filtrów serwletowych (Security Filter Chain). Każdy request przechodzi przez filtry zanim trafi do kontrolera.
Uwierzytelnianie (authentication)
Filtr wyciąga dane uwierzytelniające (sesja, basic auth, JWT bearer itd.).
`AuthenticationManager` deleguje do `AuthenticationProvider`.
Po sukcesie obiekt `Authentication` trafia do `SecurityContextHolder`.
Autoryzacja (authorization)
Decyzje autoryzacyjne podejmowane są dla każdego requesta (czasem też per metoda) na podstawie:
reguł URL (`authorizeHttpRequests`) i/lub
zabezpieczeń metod (`@PreAuthorize`, `@PostAuthorize`).