我希望保护除/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);
}
}