vlambda博客
学习文章列表

解决csrf引起的403错误

在项目中引入了Spring Security框架做权限控制,但是出于调试的方便,在开始的时候就禁用了Spring Security,计划到项目后期再专门开发。

但是,在调试的过程中发现,Postman发出的请求后台无法正确接受处理,一直返回403错误。

GET请求可正常访问外,POSTPUTDELETE请求全部报403 Forbidden错误。

最初怀疑是代码有问题,检查无误后问题依然存在,最后只好使用Spring Boot自带的MockMVC测试框架来测试,所有的功能都可以正常响应,只是使用浏览器和第三方工具调试时不能正常工作。

解决csrf引起的403错误解决csrf引起的403错误

最终发现问题其实出现在Spring Security上面,虽然在最开始设置所有请求都放行,但是Spring Security默认开启了csrf攻击防护,它强迫去验证token,这样可以保护后台数据安全性。(PS: 这玩意儿就是坑,谁验谁傻*-_-)解决csrf引起的403错误

解决办法:

后台关闭csrf校验,一行代码解决。

解决csrf引起的403错误

问题解决,所有请求全部正常!!!

话说这个csrf简直是神坑,刚学Spring Security就是坑。。。以后如果项目中引入了Spring Security一定先禁用csrf。