Привод с пружинной загрузкой: Конечная точка работоспособности не показывает детали, когда защищены конечные точки другого привода - PullRequest
0 голосов
/ 01 июля 2019

Цель : защитить все конечные точки привода, кроме информации и работоспособности, но для работоспособности показать детали, когда пользователь аутентифицирован.

У моего помпа только spring-boot-starter-web, spring-boot-starter-securityи spring-boot-starter-web (версия для весенней загрузки: 2.1.6.RELEASE), и весь конфиг:

@Configuration
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http.requestMatcher(EndpointRequest.toAnyEndpoint().excluding("info", "health"))
        .authorizeRequests()
        .anyRequest().authenticated()
        .and()
        .httpBasic();
  }
}

и application.yml

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: "when-authorized"

Это защищает все конечные точки и дает неаутентифицированныедоступ к информации и здоровью.Но когда доступ к здоровью осуществляется с помощью учетных данных, он не возвращает подробности.Похоже, что management.endpoint.health.show-details="when-authorized" в этом случае игнорируется.

У кого-нибудь есть идеи, как это исправить?

1 Ответ

2 голосов
/ 01 июля 2019

Должно работать с использованием

 protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .requestMatchers(EndpointRequest.toAnyEndpoint()
        .excluding("info", "health")).authenticated()
        .and().httpBasic();
  }

или

 protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .requestMatchers(EndpointRequest.to("info", "health"))
        .permitAll()
        .anyRequest().authenticated()
        .and().httpBasic();
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...