필터 체인은 HTTP 요청이 애플리케이션에 도착할 때 Spring Security에 의해 순차적으로 실행되는 일련의 필터들을 의미한다.
http.addFilterBefore(jwtAuthorizationFilter(), JwtAuthenticationFilter.class);
JwtAuthenticationFilter
가 실행되기 전에 jwtAuthorizationFilter()
가 먼저 실행된다.http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
jwtAuthenticationFilter()
가 UsernamePasswordAuthenticationFilter
보다 먼저 실행하도록 설정한다.jwtAuthorizationFilter()
먼저 실행되어 JWT의 유효성을 검사
=> jwtAuthenticationFilter()
가 실행되어 로그인 요청을 처리
=> UsernamePasswordAuthenticationFilter
실행
jwtAuthorizationFilter()
JWT 토큰을 검증하고 인가하는 작업을 담당한다.
jwtAuthenticationFilter()
로그인하고 JWT 토큰을 생성한다.
UsernamePasswordAuthenticationFilter.class
Spring Security의 기본 인증 필터이다.
사용자가 제공한 username과 password를 사용하여 인증을 수행한다.