多选项卡上的Java Spring CSRF令牌验证问题

时间:2016-07-11 10:00:21

标签: spring spring-mvc spring-security csrf

我已使用Spring security 3.2.0在我的应用程序中实现了CSRF保护。代码如下。

@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
  @Override
  protected void configure(HttpSecurity http) throws Exception {

  http.authorizeRequests().antMatchers("/**").permitAll();
}  

我们在JSP表单中也使用了Spring MVC。结果,将为每个发布请求表单生成CSRF令牌。这是完美的,但最近我们注意到,当用户使用来自同一浏览器的多个选项卡访问网站时,不同的CSRF令牌冲突,用户获得CSRF令牌未找到错误。 脚步: 1.用户从选项卡和任何页面登录该站点。为页面生成CSRF令牌。 2.用户打开另一个选项卡并访问同一网站,生成另一个CSRF令牌 3.用户返回选项卡1并提交页面。用户收到CSRF令牌不匹配错误。

我已经浏览了其他论坛,并了解到我的应用程序正在为每个请求生成令牌。并将其更改为每个会话将解决此问题。但是,我无法找到实现此解决方案所需的实际代码/步骤。请你指导我。

0 个答案:

没有答案