Если я правильно понял ваши вопросы, то вы можете работать с различными адаптерами конфигурации.Основная идея выглядит следующим образом:
@Order(1)
@Configuration
@EnableOAuth2Sso
public static class SecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Autowired
@Qualifier("defaultMatcher")
private RequestMatcher defaultMatcher;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requestMatcher(defaultMatcher)...
}
}
@Order(2)
@Configuration
public static class OtherConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requestMatcher(yourRequestMatcher())...
}
}
Spring будет оценивать каждый запрос в порядке, который вы добавляете с помощью Order (), если вы используете @EnableResourceServer, у него всегда будет Order (3)
YouЗатем вы можете построить свои средства сопоставления запросов в следующем примере (в этом примере он сопоставляет все, но явно исключает некоторые другие):
@Bean
public RequestMatcher defaultMatcher(@Qualifier("apiMatcher") RequestMatcher api, @Qualifier("anyother") RequestMatcher anyother) {
final RequestMatcher all = new AntPathRequestMatcher("/**");
final RequestMatcher nonApi = new NegatedRequestMatcher(new OrRequestMatcher(api, anyother));
return new AndRequestMatcher(all, nonApi);
}
Надеюсь, что это поможет.
С наилучшими пожеланиями, WiPu