관리 메뉴

제뉴어리의 모든것

UsernamePasswordAuthenticationFilter 에 대하여 본문

Spring Boot/Spring Security

UsernamePasswordAuthenticationFilter 에 대하여

제뉴어리맨 2022. 9. 28. 00:03

사용자 정의 필터 (스프링내의 존재하는 필터 클래스를 상속받아 내가 재정의한 필터)

여러개 등록할 일이 있었다.

그런데,

등록 순서를 

UsernamePasswordAuthenticationFilter 를 상속받은 재정의 필터를 가장 먼저 등록하였고,

그 다음 여러개의 필터를 등록하였다.

그렇다면 내 생각에는 모든 request가 무조건 등록한 순서대로 모든 필터를 거쳐서 Controller까지 간다고 생각했다.

하지만 그렇지 않았다.

id, pwd 로 인증을 요청한 request에 한해서만 UsernamePasswordAuthenticationFilter 를 재정의한 필터를 필터 순서대로 가장 먼저 거쳤다.

나머지 request들은 UsernamePasswordAuthenticationFilter 재정의 필터를 거치지도 않았다.

 

결론 :

UsernamePasswordAuthenticationFilter 를 등록한 필터 중 가장 우선적으로 등록하였다고 해도

id, pwd 로 인한 인증 request시에만 

UsernamePasswordAuthenticationFilter 필터를 가장 먼저 거친다.

 

 

잘할점 : 

클래스의 이름을 보고 기능과 작동 시점을 예상하자.

그럼 테스트 해보지도 않고 예상하여 이해 할 수 있다.