0

我有一个 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 配置不应该覆盖此行为吗?

4

1 回答 1

0

在评论中回答:

不,它不应该......允许所有的东西都不同,因为根本没有安全。对于后者,覆盖“配置(WebSecurity)”并使用“忽略”完全没有安全性。

于 2019-05-05T07:18:24.510 回答