解决csrf引起的403错误

Posted IT菜佬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决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。



以上是关于解决csrf引起的403错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Security 中自定义 CSRF 错误页面

Django 1.9 AJAX 表单 CSRF 令牌 403 错误 - “未设置 CSRF cookie”

为啥 Django 管理员登录给我 403 CSRF 错误?

403 错误怎么解决?

Django Admin登录403 Forbidden(未设置CSRF cookie。)

403 错误 - 模态窗口中的 CSRF 令牌