springsecurity认证机制的InvalidCSRFToken问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

springsecurity认证机制的InvalidCSRFToken问题
spring security在集成spring boot的微服务框架后,进⾏了cas认证和权限控制。

但是在请求过程中,发现了⼀个问题
1.关于错误
错误指出,请求中出现了不可⽤的CSRF令牌。

查阅资料后发现这是⼀个RESTful技术与CSRF(Cross-site request forgery跨站请求伪造)的冲突造成的,CSRF默认⽀持的⽅法:
GET|HEAD|TRACE|OPTIONS,不⽀持POST。

传统的session id容易被第三⽅窃取攻击,spring security4.0版本之后,引⼊了CSRF的概念。

spring security为了正确的区别合法的post请求,采⽤了token的机制。

过程⼤致为get请求会从服务器端拿到⼀个token,这个token被拿来当做header参数通过post请求传递⾄服务器。

服务器通过区分这个token值是否合法来判定是否是正常的post请求(⽽⾮第三⽅攻击)。

2.解决
spring Security 3默认关闭csrf,Spring Security 4默认启动了csrf。

开发环境⼿动关闭csrf
@Override
protected void configure(HttpSecurity http) throws Exception {
//访问控制内容。

http .csrf().disable();
}。

相关文档
最新文档