AntMatcher и contextPath для безопасности API - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть приложение весенней загрузки.Я настроил OAuth2 - серверы авторизации и ресурсов (разделены).На сервере ресурсов (application.properties) у меня есть:

server.servlet.context-path=/api

, а также:

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
    (...)

    @Override
    public void configure(HttpSecurity http) throws Exception {
                http
                .requestMatchers()
                .and()
                .authorizeRequests()
                .antMatchers("/actuator/**", "/api-docs/**").permitAll()
                .antMatchers("/api/**" ).authenticated();
    }
}

Проблема в том, что API фактически не защищен вообще.Благодаря документу и ответу @ dur Я знаю, что

Шаблон не должен содержать путь к контексту

Действительно, меняется с:

.antMatchers("/api/**" ).authenticated();

до:

.antMatchers("/**" ).authenticated();

отлично работает.Но вопрос заключается в следующем: возможно ли использовать контекстный путь в этом случае вместо использования /**?Я мог бы повторить .antMatchers() для каждого контроллера (или использовать /**), но, возможно, есть способ использовать context-path?

...