[SpringBoot] OncePerRequestFilter 특정 url 제외시키기

울상냥·2023년 2월 15일
5

Java

목록 보기
2/2

Jwt인증을 구현하기 위해 OncePerRequestFilter을 커스텀한 JwtFilter을 작성하던중 회원가입과 로그인등의 url은 filter을 거치지 않게 해야했다.

OncePerRequestFiltershouldNotFilter()을 오버라이딩 하여 해결!

공식문서에 따르면

Can be overridden in subclasses for custom filtering control, returning true to avoid filtering of the given request.
The default implementation always returns false.

필터링에서 제외시키고 싶은 request에서 true를 반환 하면 된다.


내가 작성한 shouldNotFilter()

 	@Override
    protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {

        String[] excludePath = {"/user/signup", "/user/login", "/user/reissue"};
        String path = request.getRequestURI();
        return Arrays.stream(excludePath).anyMatch(path::startsWith);
    }

url pathexcludePath라면 true를 반환한다.

profile
안되면 되게하라

1개의 댓글

comment-user-thumbnail
2023년 8월 18일

감사합니다

답글 달기