问题:


原因:
前端检测到跨域时,需要先请求一次请求方法是OPTIONS的请求,且不携带token

这时后端的Filter过滤器检测到不是login且不携带token就会拦截。
解决:
在Filter中将OPTIONS放行
if("OPTIONS".equals(request.getMethod())){
filterChain.doFilter(request,response);
return;
}

当前端遇到跨域问题时,会先发送一个OPTIONS预检请求,不包含token。如果后端的Filter在检测到无token的非login请求时会拦截。为解决此问题,可以在Filter中特别处理OPTIONS请求,使其能正常通过。
464





