У меня есть приложение весенней загрузки.Я настроил 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?