我在项目中使用spring security和Java配置。
默认情况下,Spring安全性的Java配置已启用csrf。
是否可以设置csrf令牌到期之前的超时时间?这是为基于令牌的应用程序指定超时的要求。
在浏览了一些博客和文章之后,我注意到csrf令牌的行为是不可预测的,以使其更安全。
以下是配置弹簧安全性的示例代码。
SSRS
如果有某种方法我可以设置超时,这将节省我很多工作。
答案 0 :(得分:0)
一个问题是预期的CSRF令牌存储在HttpSession中,因此只要HttpSession到期,您配置的
AccessDeniedHandler
就会收到InvalidCsrfTokenException。
这意味着,您可以更改web.xml
中的会话超时以使CSRF令牌失效,例如参见WebLogic:
<session-timeout>
|可选|此Web应用程序中的会话到期的分钟数
另一种方法是编写自己的CsrfTokenRepository
:
允许更改预期
中CsrfToken
与HttpServletRequest
相关联的方法的API。例如,它可以存储在HttpSession
。