Spring CSRF HTTP 403禁止错误

时间:2017-08-07 05:55:59

标签: spring spring-mvc spring-security csrf

我正从struts迁移到spring迁移。由于我正在开发最新的4.3版弹簧,我们决定为我们的应用程序提供CSRF保护。在我们的JSP页面上,我们有两个可以使用http get方法单击的选项卡来调用spring controller。每个选项卡都有多个链接和按钮。在获取呼叫之后如果我在页面上执行任何操作,例如单击一个按钮,该按钮会向控制器发送呼叫。我收到了403禁止消息"未找到预期的CSRF令牌。你的课程到期了吗?" 。

在Firefox开发人员工具中发布调用表单数据后,我可以看到带有令牌的_csrf。响应标题说x-frame-opitons:拒绝。我怀疑上一次调用HTTP GET正在选择导致问题的选项卡。我们还需要为http GET方法传递csrf令牌吗?有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

正如我所说我正在进行迁移项目,对于每个调用现有代码,他们都在一个实用方法中清理会话属性。虽然由于实用方法中的会话清理,我在每个请求中发送令牌,但我的令牌与空值进行比较。因此它抛出错误"未找到预期的CSRF令牌。您的会话是否已过期"。

现在已经解决了。谢谢。