Spring CSRF HTTP 403 禁止错误
Spring CSRF HTTP 403 forbidden error
我正在从 struts 迁移到 spring 迁移。由于我正在研究最新的 spring 版本 4.3,因此我们决定为我们的应用程序提供 CSRF 保护。在我们的 JSP 页面上,我们有两个选项卡都可以通过 http get 方法单击来调用 spring 控制器。每个选项卡都有多个链接和按钮。在 get 调用之后,如果我在页面上执行任何操作,例如单击一个按钮,该按钮会 post 调用控制器。我收到 403 forbidden 消息 "Expected CSRF token not found. Has your session expired?" 。
在 Firefox 开发人员工具 post 调用表单数据中,我可以看到带有令牌的 _csrf 被传递。响应 header 说 x-frame-opitons:拒绝。我怀疑之前的调用 HTTP GET 是在选择导致问题的选项卡上。我们是否也需要为 http GET 方法传递 csrf 令牌?有帮助吗?
正如我所说,我正在从事迁移项目,对于每次调用现有代码,他们都会在一种实用方法中清理会话属性。尽管由于实用程序方法中的会话清理,我在每个请求中发送令牌,但我的令牌正在与空值进行比较。因此它抛出错误 "Expected CSRF token not found. Has your session expired".
现已解决。谢谢。
我正在从 struts 迁移到 spring 迁移。由于我正在研究最新的 spring 版本 4.3,因此我们决定为我们的应用程序提供 CSRF 保护。在我们的 JSP 页面上,我们有两个选项卡都可以通过 http get 方法单击来调用 spring 控制器。每个选项卡都有多个链接和按钮。在 get 调用之后,如果我在页面上执行任何操作,例如单击一个按钮,该按钮会 post 调用控制器。我收到 403 forbidden 消息 "Expected CSRF token not found. Has your session expired?" 。
在 Firefox 开发人员工具 post 调用表单数据中,我可以看到带有令牌的 _csrf 被传递。响应 header 说 x-frame-opitons:拒绝。我怀疑之前的调用 HTTP GET 是在选择导致问题的选项卡上。我们是否也需要为 http GET 方法传递 csrf 令牌?有帮助吗?
正如我所说,我正在从事迁移项目,对于每次调用现有代码,他们都会在一种实用方法中清理会话属性。尽管由于实用程序方法中的会话清理,我在每个请求中发送令牌,但我的令牌正在与空值进行比较。因此它抛出错误 "Expected CSRF token not found. Has your session expired".
现已解决。谢谢。