公共端点的Spring Security意外行为

时间:2016-04-14 08:59:33

标签: spring spring-security spring-boot spring-data spring-web

我有一个Spring HttpSecurity配置为

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
    .sessionManagement()
        .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
    http.csrf().disable().httpBasic().and()
        .authorizeRequests()
            .antMatchers("/public/**").permitAll()
            .antMatchers("/secure/**").authenticated()
            .antMatchers("/backend/**").authenticated()
            .antMatchers(HttpMethod.OPTIONS, "/**").permitAll();
}

客户端为' / public / **'设置授权标头可能是愚蠢的。端点。

但是,我注意到Spring Security尝试验证尝试是否为公共请求创建经过身份验证的会话,因为提供了授权标头。

HttpSecurity配置是否应该覆盖此行为?

1 个答案:

答案 0 :(得分:0)

已在评论中答复:

  

不,它不应该...允许全部是完全不安全的东西。对于后者,请覆盖'configure(WebSecurity)'并使用'ignoring'完全没有安全性。