스프링 기반의 어플리케이션의 보안(인증, 인가, 권한 등)을 담당하는 프레임워크
접근 주체(Principal): 보호된 리소스에 접근하려는 유저
AuthenticationFilter에게 Authentiaction 객체(인증용 객체, UsernamePasswordAuthenticationToken)을 전달받습니다.
실제 인증을 할 AuthenticationProvider에게 Autication 객체를 다시 전달합니다.
DB에서 사용자 인증정보를 가져올 UserDetailsSercice 객체에게 사용자 아이디를 넘겨주고, DB에서 인증에 사용할 정보(아이디, 암호화된 패스워드, 권한 등)를 UserDetails라는 객체로 전달받습니다.
SecurityContextPersistenceFilter : SEcurityContextRespository에서 SecurityContext를 가져오가너 저장하는 역할을 합니다.
LogoutFilter : 설정된 로그아웃 URL로 오는 요청을 감시하며, 해당 유저를 로그아웃 처리 (UsernamePassword)
https://sjh836.tistory.com/165 [빨간색코딩]