Jwt인증을 구현하기 위해 OncePerRequestFilter
을 커스텀한 JwtFilter을 작성하던중 회원가입과 로그인등의 url은 filter을 거치지 않게 해야했다.
OncePerRequestFilter
의 shouldNotFilter()
을 오버라이딩 하여 해결!
공식문서에 따르면
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 path
가 excludePath
라면 true
를 반환한다.
감사합니다