최종 변경 : 2024.04.20
SecurityFilterChain에 담겨 있는 필터는 GenericFilterBean 기반으로 구현된 필터가 있고, GenericFilterBean을 상속한 OncePerRequestFilter 기반으로 구현된 필터도 존재한다.
두 방식의 차이점은 무엇일까?
기준은 클라이언트의 한 번의 요청에 대해서다.
GenericFilterBean은 내부적으로 동일한 필터를 여러 번 통과하더라도 통과한 수 만큼 내부 로직이 실행된다.
OncePerRequestFilter는 내부적으로 동일한 필터를 여러 번 통과하더라도 첫 한 번만 내부 로직이 실행된다.
GenericFilterBean은 통과하기만 하면 내부 로직이 실행되기 때문에 크게 고려할 상황은 없다.
하지만 OncePerRequestFilter에 대해서 대부분의 블로그들은 잘못된 내용을 전달하고 있다.