如何将Spring Security的CSRF功能用于无状态端点?

che*_*tts 10 java csrf spring-security

我正在使用Spring Security和无状态Web服务.我想在Spring Security 3.2中使用CSRF功能.这是否可能与无状态的网络应用程序?

这是相关的Java Config,因为我暂时不得不禁用CSRF.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .sessionFixation().none().and()
            .csrf().disable();
}
Run Code Online (Sandbox Code Playgroud)

小智 3

如果您的服务确实是无状态的,CSRF 保护可能根本没有意义。只要服务器不使用 cookie 来识别/验证用户,您的服务就不易受到 CSRF 攻击。

详细解释请参见http://sitr.us/2011/08/26/cookies-are-bad-for-you.html