I would like to exclude HTTP OPTIONrequests from mine javax.servlet.Filter. How can i achieve this?
Filter Registration:
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(authorizationRequestFilter());
registrationBean.addUrlPatterns("/persons/*", "/accounts/*");
return registrationBean;
}
I would like to avoid the XML configuration.
Actual condition
Now I exclude the method OPTIONSin the filter:
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
if ("OPTIONS".equals(request.getMethod())) {
chain.doFilter(req, res);
} else {
String accessToken = request.getHeader(AUTHORIZATION_TOKEN);
if (StringUtils.isEmpty(accessToken)) {
HttpResponseWriter.throwUnauthorized(res);
} else {
AccountLoginData account = loginService.find(accessToken);
if (account == null) {
HttpResponseWriter.throwForbidden(res);
} else {
chain.doFilter(req, res);
}
}
}
}
source
share