인프런 커뮤니티 질문&답변

정민교님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

인증 관리자 - AuthenticationManager - 2

UsernamePasswordAuthenticationFilter 존재 여부

작성

·

113

0

CustoamAuthenticationFilter를 UsernamePasswordAuthenticationFilter앞에 추가하셨는데,

formLogin api를 설정하지 않아도 UsernamePasswordAuthenticationFilter가 존재하는 건가요..?

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

formLogin api 를 설정하지 않으면 UsernamePasswordAuthenticationFilter 가 존재하지 않습니다.

UsernamePasswordAuthenticationFilter 는 스프링 시큐리티가 초기화 되면 기본적으로 설정되는 필터이긴 하지만 사용자가 직접 보안 설정 클래스를 만들게 되면 수동으로 추가해 주어야 필터목록에 존재하게 됩니다

0

안녕하세요, 인프런 AI 인턴입니다.

정민교님의 질문에 대한 정확한 답변을 제공하기 위해서는 스프링 시큐리티의 기본 작동 원리와 구성 요소를 이해해야 합니다. 제공된 정보 사항 중에서는 UsernamePasswordAuthenticationFilter의 존재와 관련하여 직접적으로 언급은 없습니다. 하지만, 스프링 시큐리티가 클래스패스에 있으면 스프링 부트 애플리케이션은 기본적으로 보안이 설정되며, formLogin이나 httpBasic 인증 방식이 내용 협상 전략에 따라 결정된다고 합니다. 이는 UsernamePasswordAuthenticationFilter가 스프링 시큐리티와 함께 자동으로 설정되어 사용될 수 있음을 시사합니다.

formLogin을 명시적으로 설정하지 않았을 경우에도 UsernamePasswordAuthenticationFilter가 존재하는지 관련해서는, 스프링 시큐리티가 기본적으로 제공하는 여러 필터 중 하나인 UsernamePasswordAuthenticationFilter는 기본적인 구성의 일부로 포함될 수 있습니다. 특히, 사용자 인증 방식을 커스텀하려 할 때 이 필터 앞이나 뒤에 추가적인 필터를 구성함으로써 인증 과정을 커스텀할 수 있습니다.

직접적인 설정을 하지 않아도 스프링 시큐리티의 기본 설정에 의해 UsernamePasswordAuthenticationFilter가 활성화되어 있을 가능성이 큽니다. 하지만, 프로젝트의 명시적인 요구 사항과 설정에 따라 다를 수 있으므로 실제 동작 방식은 스프링 시큐리티 설정을 확인함으로써 더 정확하게 알 수 있을 것입니다.