WebMvcConfig的配置在过滤之前还是之后生效?
WebMvcConfig extends WebMvcConfigurationSupport这里面的配置的早,还是@WebFilter(filterName = “loginCheckFilter”,urlPatterns = “/*”)自己定义的过滤器拦截的早?
事情是这样的:我后端需要解决跨域和鉴权的问题,跨域在WebMvcConfig中重写addCorsMappings就行了,鉴权就写了个过滤器判断登录token,结果是不需要鉴权的请求能通过(登录,首页面的展示),需要鉴权的请求在postman上是正常的,能有响应
但是在浏览器上是这样的:
但是更奇怪的是我如果给出正确token,postman和浏览器都没问题。所以问题能出在哪?
我的结论是:filter执行之后(filterChain.doFilter(request, response);)WebMvcConfig配置才开始配置。
我的解决方案是:在发现token过期了之后,手动设置一些跨域信息,结果成功了。估计把过滤器换成拦截器也行。