umOelmfteLy2sKugXu4f6-1663488227312.png

주요 구성요소

AuthenticationManager: 모든 작업을 총괄하며 필요한 작업을 위임하는 형태로 구성

UsernamePasswordAuthenticationFilter: 사용자의 요청을 최초로 수신하는 엔트리포인트이자 인증되지 않은 Authentication을 생성하고 인증 후 돌려받아 저장하는 역할 (JWT토큰 방식이 아닌 경우)

스프팅 시큐리티 필터 체인 중 하나이며 다른 보안 필터들과 함께 동작

AuthenticationProvider: 인증되지 않은 Authentication을 전달받아 UserDetailsService를 통해 Credentials를 검증하여 인증 여부를 결정

UserDetailsService: AuthenticationProvider에 의해 호출되어 회원 정보를 조회

이를 바탕으로 UserDetails 객체를 생성해 전달