【发布时间】:2014-04-26 08:40:54
【问题描述】:
我遇到了多个选项卡的问题。如果我从第一个选项卡注销并打开另一个选项卡,登录并注销后,如果我返回第一个选项卡并登录,我会得到 403。例如,第一个选项卡的注销页面已由 spring security 和 thymeleaf 添加到表单中:
<input type="hidden" name="_csrf" value="7b9639ba-aaae-4ed2-aad2-bb4c5930458e">
作为第二个选项卡的登录表单添加了不同的 csrf 令牌。
<input type="hidden" name="_csrf" value="659324d5-ec5c-4c57-9984-dab740746285">
现在,当我转到第一个选项卡并从那里登录时,我得到 403 禁止。这是有道理的,因为 csrf 令牌现在已经过时了。但我该如何解决这个问题?如果用户从不活动状态中注销并重定向到登录页面但仅在一段时间后(例如半小时)再次尝试登录,我也会收到 403 禁止。
【问题讨论】:
-
你检查过 spring.io/blog/2013/08/21/… 的 spring 文档。登录问题似乎没有解决方法。关于你的最后一句话,这似乎是由于会话到期。 (文档中的超时部分)
-
我们遇到了类似的问题并使用自定义
AccessDeniedHandler解决了它(请参阅stackoverflow.com/a/47399348/225217)。
标签: spring spring-security csrf thymeleaf