关于springboot跨域和鉴权的一些问题

文章讨论了在处理跨域和鉴权时,WebMvcConfig中的配置与自定义@WebFilter过滤器的执行顺序。出现的问题是,不需要鉴权的请求能通过,但需要鉴权的请求在浏览器上出错,而Postman正常。作者推测问题可能在于过滤器执行后WebMvcConfig的配置才生效。解决方案是在过滤器中处理token过期的跨域设置,或者使用拦截器代替过滤器。

WebMvcConfig的配置在过滤之前还是之后生效?
WebMvcConfig extends WebMvcConfigurationSupport这里面的配置的早,还是@WebFilter(filterName = “loginCheckFilter”,urlPatterns = “/*”)自己定义的过滤器拦截的早?

事情是这样的:我后端需要解决跨域和鉴权的问题,跨域在WebMvcConfig中重写addCorsMappings就行了,鉴权就写了个过滤器判断登录token,结果是不需要鉴权的请求能通过(登录,首页面的展示),需要鉴权的请求在postman上是正常的,能有响应

在这里插入图片描述

但是在浏览器上是这样的:

在这里插入图片描述

在这里插入图片描述

但是更奇怪的是我如果给出正确token,postman和浏览器都没问题。所以问题能出在哪?
我的结论是:filter执行之后(filterChain.doFilter(request, response);)WebMvcConfig配置才开始配置。

我的解决方案是:在发现token过期了之后,手动设置一些跨域信息,结果成功了。估计把过滤器换成拦截器也行。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJpZh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值