Auth Multi Dasar dengan Keamanan Musim Semi

@Component
@RequiredArgsConstructor
public class TypeFilter extends OncePerRequestFilter {
   private final TypeService typeService;
   private final ObjectMapper mapper;

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
        throws ServletException, IOException {
    String uri = request.getRequestURI();
    if (!uri.contains("/login") && !uri.contains("/password")) {
        chain.doFilter(request, response);
        return;
    }

    String headerValue = request.getHeader(TYPE);

    if (StringUtils.isBlank(headerValue)) {
       response.setStatus(HttpStatus.BAD_REQUEST.value());
        return;
    }

    try {
        Type type = type Service.findByValue(headerValue);
        TypeContext.setCurrentType(type);
        chain.doFilter(request, response);
    } catch (MyException e) {
       response.setStatus(HttpStatus.BAD_REQUEST.value());
    }
}
Arb9i