意外的Spring Boot auth行为

时间:2014-11-09 13:58:21

标签: java spring spring-boot basic-authentication

我希望保护除/register/activate之外的所有端点,但以下配置不允许对已排除端点进行未经身份验证的调用。有什么遗漏/错误?我将它与几个教程和代码片段进行了比较,但我无法找到失败。我必须删除.anyRequest().authenticated()部分才能调用两个端点中的一个,但是所有其他端点也都是不安全的。

@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {


    @Autowired
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http
            .authorizeRequests()
            .antMatchers("/register", "/activate").permitAll()
            .anyRequest().authenticated()
            .and()
            .csrf().disable()
            .httpBasic();
    }

    @Autowired
    public void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService);
    }

}

0 个答案:

没有答案