Spring Boot/Spring Security
UsernamePasswordAuthenticationFilter 에 대하여
제뉴어리맨
2022. 9. 28. 00:03
사용자 정의 필터 (스프링내의 존재하는 필터 클래스를 상속받아 내가 재정의한 필터)
여러개 등록할 일이 있었다.
그런데,
등록 순서를
UsernamePasswordAuthenticationFilter 를 상속받은 재정의 필터를 가장 먼저 등록하였고,
그 다음 여러개의 필터를 등록하였다.
그렇다면 내 생각에는 모든 request가 무조건 등록한 순서대로 모든 필터를 거쳐서 Controller까지 간다고 생각했다.
하지만 그렇지 않았다.
id, pwd 로 인증을 요청한 request에 한해서만 UsernamePasswordAuthenticationFilter 를 재정의한 필터를 필터 순서대로 가장 먼저 거쳤다.
나머지 request들은 UsernamePasswordAuthenticationFilter 재정의 필터를 거치지도 않았다.
결론 :
UsernamePasswordAuthenticationFilter 를 등록한 필터 중 가장 우선적으로 등록하였다고 해도
id, pwd 로 인한 인증 request시에만
UsernamePasswordAuthenticationFilter 필터를 가장 먼저 거친다.
잘할점 :
클래스의 이름을 보고 기능과 작동 시점을 예상하자.
그럼 테스트 해보지도 않고 예상하여 이해 할 수 있다.