Когда вы устанавливаете spring.security.user.name
и spring.security.user.password
, вы конфигурируете вход в форму через spring-security
для всего приложения, включая конечные точки привода.
К сожалению, в Spring Boot 2.0 вы не можете установить другое имя пользователя / пароль или отключить аутентификацию для конечных точек привода, используя свойства. Это означает, что вы должны явно разрешить конечные точки привода через конфигурацию безопасности.
Через spring-security
вы также можете разрешить публичный доступ к вашим конечным точкам и очень легко запрашивать учетные данные для конечных точек привода:
@Configuration
public class BasicSecurityConfig extends WebSecurityConfigurerAdapter {
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/actuator/**").hasRole("ACTUATOR")
.anyRequest().permitAll();
}
}
(я предполагал, что вы используете WebMvc, а не WebFlux, что немного отличается)
Убедитесь, что в application.properties
имеется следующее:
spring.security.user.name=user
spring.security.user.password=pass
spring.security.user.roles=ACTUATOR,USER # and others, if you like
management.endpoint.health.roles=ACTUATOR
См. здесь для быстрого и приятного объяснения различий между Actuator в Spring 1.x и 2.0.