Spring Security는 스프링 기반 애플리케이션의보안(인증과 권한, 인가 등)을 담당하는 스프링 프레임워크입니다. Spring Security는인증과 권한에 대한 부분을Filter의 흐름에 따라 처리합니다.
보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자가 일일이 보안 관련 로직을 작성하지 않아도 된다는 장점이 있습니다.
간단하게 말해서 Spring 진영의 보안 관련 프레임워크이다.
일반적인 Form Login 절차
AuthenticationFilter가 요청을 받아서 UsernamePasswordAuthenticationToken토큰을 생성
UsernamePasswordAuthenticationToken은 해당 요청을 처리할 수 있는 Provider을 찾는데 사용
Authentication Manager는 List형태로 Provider들을 갖고 있음
ProviderManager가 갖고 있는 Provider들을 차례로 탐색하면서 각 Provider들의 supports메소드로 확인