欢迎关注笔者的微信公众号

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

但是,在调试的过程中发现,Postman发出的请求后台无法正确接受处理,一直返回403错误。
除GET请求可正常访问外,POST,PUT,DELETE请求全部报403 Forbidden错误。
最初怀疑是代码有问题,检查无误后问题依然存在,最后只好使用Spring Boot自带的MockMVC测试框架来测试,所有的功能都可以正常响应,只是使用浏览器和第三方工具调试时不能正常工作。

最终发现问题其实出现在Spring Security上面,虽然在最开始设置所有请求都放行,但是Spring Security默认开启了csrf攻击防护,它强迫去验证token,这样可以保护后台数据安全性。
解决办法:
后台关闭csrf校验,一行代码解决。

问题解决,所有请求全部正常!!!
话说这个
csrf简直是神坑,刚学Spring Security就是坑。。。以后如果项目中引入了Spring Security一定先禁用csrf。

本文介绍在调试阶段遇到的SpringSecurity框架中CSRF防护导致的403错误问题。通过禁用CSRF校验,解决了Postman等工具发送POST、PUT、DELETE请求时后台无法正确处理的问题。


1313

被折叠的 条评论
为什么被折叠?



