6.6中的CSRF令牌不匹配

2020-09-16 15:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在将6.0升级到6.6。 在6.6中提交帖子请求时,CSRF令牌生成为 org.springframework.security.web.csrf.DefaultCsrfToken@3f7d8dec 。 请建议,生成的CSRF格式正确吗?

另一方面,我可以看到生成的CSRF令牌与csrfToken.getToken()进行了比较,如下所示。 检查时,csrfToken.getToken()的值显示为 b9ef5846-ed23-4e73-bef1-40450a837c29

actualToken = org.springframework.security.web.csrf.DefaultCsrfToken@3f7d8dec
csrfToken.getToken()= b9ef5846-ed23-4e73-bef1-40450a837c29

if(!csrfToken.getToken()。equals(actualToken)){

}

上面的代码片段来自CsrfFilter类。 在上述条件下,其重定向到/login页面并返回302状态代码。

我们已经包含在安全性xml中。 任何人都可以帮助我们,比较时令牌如何不匹配。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在将6.0升级到6.6。 在6.6中提交帖子请求时,CSRF令牌生成为 org.springframework.security.web.csrf.DefaultCsrfToken@3f7d8dec 。 请建议,生成的CSRF格式正确吗?

另一方面,我可以看到生成的CSRF令牌与csrfToken.getToken()进行了比较,如下所示。 检查时,csrfToken.getToken()的值显示为 b9ef5846-ed23-4e73-bef1-40450a837c29

actualToken = org.springframework.security.web.csrf.DefaultCsrfToken@3f7d8dec
csrfToken.getToken()= b9ef5846-ed23-4e73-bef1-40450a837c29

if(!csrfToken.getToken()。equals(actualToken)){

}

上面的代码片段来自CsrfFilter类。 在上述条件下,其重定向到/login页面并返回302状态代码。

我们已经包含在安全性xml中。 任何人都可以帮助我们,比较时令牌如何不匹配。

付费偷看设置
发送
1条回答
compass1988
1楼-- · 2020-09-16 16:19

不建议使用CSRFTokenManager,现在hybris从Spring开始使用CsrfFilter。 您需要进行更改才能开始使用使用tokenRepository的CSRFRequestDataValueProcessor。

您所需要的可能只是清理过时的csrf处理,一切将开始工作

一周热门 更多>