개발/spring-security

UsernamePasswordAuthenticationFilter 에 대한 간단한 관찰

나태쿤 2024. 5. 3. 23:03
728x90

필터에 대해서 완전히 깊게 아는것 보단 숲을 먼저 보자

 

http 요청에 대하여 아이디 / 패스워드 인증이 필요하다면 (세션기반이면 더 좋고)

 

UsernamePasswordAuthenticationFilter  필터가 적임자 이다

 

생김새 부터 보자

 

 

 

실제 소스를 보면 몇줄 없다

 

그 이유는 이 필터는 AbstractAuthenticationProcessingFilter 를 상속하는데 

여기에 로직이 많다 

 

 

 

해당 메서드만 다시 캡처 했다.

 

그리고 "인증시도" 부분의 메서드가 Override 인데

재정의 한 코드를 보면 HttpServletRequest을 이용해서 아이디, 패스워드 추출...

UsernamePasswordAuthenticationToken (토큰) 을 생성

인증관리자가 토큰을 가지고 인증 수행 이정도 된다.

 

 

이를 사용하는 메서드는 AbstractAuthenticationProcessingFilter 의 doFilter 인것을 알 수 있다

 

 

설명 보단 코드를 보는게 더 낫다

728x90