antMatcher() 允许将 HttpSecurity 配置为仅在匹配提供的 ant 模式时调用。
如果需要更高级的配置,请考虑使用 requestMatchers() 或 requestMatcher(RequestMatcher)。
调用 antMatcher() 将覆盖 antMatcher()、mvcMatcher()、requestMatchers()、regexMatcher()和 requestMatcher() 的先前调用
请参阅下面有关使用 requestMatchers 的示例
@Configuration
@EnableWebSecurity
public class RequestMatchersSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.requestMatchers((requestMatchers) ->
requestMatchers
.antMatchers("/api/**")
.antMatchers("/oauth/**")
)
.authorizeRequests((authorizeRequests) ->
authorizeRequests
.antMatchers("/**").hasRole("USER")
)
.httpBasic(withDefaults());
}
}
下面的配置也与上面的配置相同。
@Configuration
@EnableWebSecurity
public class RequestMatchersSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.requestMatchers((requestMatchers) ->
requestMatchers
.antMatchers("/api/**")
)
.requestMatchers((requestMatchers) ->
requestMatchers
.antMatchers("/oauth/**")
)
.authorizeRequests((authorizeRequests) ->
authorizeRequests
.antMatchers("/**").hasRole("USER")
)
.httpBasic(withDefaults());
}
}