최종 변경 : 2024.04.20


GenericFilterBean vs OncePerRequestFilter

SecurityFilterChain에 담겨 있는 필터는 GenericFilterBean 기반으로 구현된 필터가 있고, GenericFilterBean을 상속한 OncePerRequestFilter 기반으로 구현된 필터도 존재한다.

두 방식의 차이점은 무엇일까?

기준은 클라이언트의 한 번의 요청에 대해서다.

GenericFilterBean은 내부적으로 동일한 필터를 여러 번 통과하더라도 통과한 수 만큼 내부 로직이 실행된다.

OncePerRequestFilter는 내부적으로 동일한 필터를 여러 번 통과하더라도 첫 한 번만 내부 로직이 실행된다.


대부분의 블로그가 잘못 적은 내용

GenericFilterBean은 통과하기만 하면 내부 로직이 실행되기 때문에 크게 고려할 상황은 없다.

하지만 OncePerRequestFilter에 대해서 대부분의 블로그들은 잘못된 내용을 전달하고 있다.