将Spring Boot 1.5.6迁移到Spring Boot 2.0.0后配置执行器

时间:2018-03-22 14:24:58

标签: java spring spring-mvc spring-boot spring-security

我决定将Spring Boot从1.5.6更新到2.0.0版。有许多错误,其中一个是执行器。我在1.5.6版中的先前配置看起来像这样

HintRequest hintRequest = new HintRequest.Builder()
.setPhoneNumberIdentifierSupported(true)
.build();

我的所有地址都有效,只有具有ADMIN角色的登录用户(Spring Security)才能访问它们。将Spring Boot更新到版本2.0.0后,我的部分配置如下所示

management:
  context-path: /actuator
  security:
    roles: ADMIN

endpoints:
  enabled: true
  sensitive: true

但我不知道如果用户使用ADMIN角色登录,如何设置对Actuator地址的访问权限。

1 个答案:

答案 0 :(得分:0)

您可以在Spring Security配置中执行以下操作:

@Configuration
@EnableWebSecurity
public class DefaultSecurityConfig extends WebSecurityConfigurerAdapter {

  @Override
  protected void configure(HttpSecurity http) throws Exception {

        ...
        // secure only specific actuator endpoint
        http
          .authorizeRequests()
            .requestMatchers(EndpointRequest.to("env"))
            .hasRole("ADMIN");

       // or secure all actuator endpoints
       http
          .authorizeRequests()
            .requestMatchers(EndpointRequest.toAnyEndpoint())
            .hasRole("ADMIN");
 }
}