我们可以指定CSRF令牌到期超时吗?

时间:2016-09-28 17:48:58

标签: java spring spring-security spring-rest

我在项目中使用spring security和Java配置。

默认情况下,Spring安全性的Java配置已启用csrf。

是否可以设置csrf令牌到期之前的超时时间?这是为基于令牌的应用程序指定超时的要求。

在浏览了一些博客和文章之后,我注意到csrf令牌的行为是不可预测的,以使其更安全。

以下是配置弹簧安全性的示例代码。

SSRS

如果有某种方法我可以设置超时,这将节省我很多工作。

1 个答案:

答案 0 :(得分:0)

请参阅Spring Security Reference

  

一个问题是预期的CSRF令牌存储在HttpSession中,因此只要HttpSession到期,您配置的AccessDeniedHandler就会收到InvalidCsrfTokenException。

这意味着,您可以更改web.xml中的会话超时以使CSRF令牌失效,例如参见WebLogic

  

<session-timeout> |可选|此Web应用程序中的会话到期的分钟数

另一种方法是编写自己的CsrfTokenRepository

  

允许更改预期CsrfTokenHttpServletRequest相关联的方法的API。例如,它可以存储在HttpSession