Cómo proteger los puntos finales del actuador con función de arranque en la primavera de 2?

Denis stephanov:

¿Puede usted ayudar a los puntos finales de actuador seguras en la primavera de arranque 2? Revisé la migración guía pero no me ayuda.

Aquí está mi configuración de seguridad:

@Configuration
@EnableWebSecurity
public class SecConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .requestMatchers(EndpointRequest.toAnyEndpoint()).hasRole("ADMIN")    
                .anyRequest().authenticated();
    }

}

pero cuando voy a la http://localhost:8080/actuator/healthque se carga sin inicio de sesión. Otros puntos finales con prefijo /actuatorno requiere inicio de sesión también. ¿Que hice mal?

También agrego OAuth con esta configuración:

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
    @Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
    clients
            .inMemory()
                .withClient("client-id")
                    .scopes("read", "write")
                    .authorizedGrantTypes("password")
                    .secret("xxxxxx")
                    .accessTokenValiditySeconds(6000);
}
}

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

    @Override
    public void configure(HttpSecurity http) throws Exception {
       http
            .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
            .authorizeRequests()
                .antMatchers("/ajax/**").authenticated()
                .and()
            .csrf()
                .disable();
    }
}
Francisco Recio:

Si su aplicación es un servidor de recursos que no necesita la clase SecConfig.

Así que si usted lo quita, en su ResourceServerConfigclase se le pueda prestar los actuadores y dejar de administración a través de:

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

    @Override
    public void configure(HttpSecurity http) throws Exception {
       http
            .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
            .authorizeRequests()
                .antMatchers("/ajax/**").authenticated()           
                .antMatchers("/actuator/**").hasRole("ADMIN")  
                .anyRequest().authenticated()  
                .and()
            .csrf()
                .disable();
    }
}

Añado .anyRequest().authenticated()para asegurar el resto de los criterios de valoración de aplicación.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=189087&siteId=1
Recomendado
Clasificación