【发布时间】:2015-12-10 21:12:35
【问题描述】:
我一直在尝试掌握 Spring Security,但总是对初始配置感到困惑。在少数教程中,我发现 CSRF 被禁用,而在少数教程中我发现它已启用。
在一些论坛上,它被写成禁用它很好,而在一些教程中,很少有人提到禁用 csrf 不是一个好习惯。
我的意思是为什么我们需要 CSRF?使用 CSRF 的原因是什么?如果我们禁用它会怎样?为什么不应该禁用它?
http.csrf()
.csrfTokenRepository(csrfTokenRepository()).and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
和
http.csrf().disable()
.exceptionHandling().and()
.anonymous().and()
.servletApi().and()
.headers().cacheControl().and()
.authorizeRequests()
如果我将 Spring Security 与 REST 结合使用,最佳配置是什么?因为在第二个配置中,它向我显示了一个用于登录的弹出窗口。在第一个配置中它给了我
(未找到预期的 CSRF 令牌。您的会话是否已过期?)
【问题讨论】:
标签: java angularjs spring rest spring-security