禁用Springboot执行器端点/ env的安全性

时间:2019-11-11 19:33:37

标签: spring-boot spring-security

要求:
我有一个只有一个Java文件(SpringBootApplication)的springboot 2小型配置服务器项目。我的要求是,执行器端点/ actuator / env本身不应受到弹簧安全性的挑战。

我能做什么:
我可以使用http.csrf().disable().authorizeRequests().antMatchers("/actuator/health").permitAll()-[WebSecurityConfigurerAdapter]绕过/ actuator / health的安全性,因此打开该链接将不会询问凭据。

我想做什么:
但是,如果我对/ env(.antMatchers("/actuator/env").permitAll())进行相同操作,它仍会显示默认的spring安全凭证页面。请帮忙。

application.yml中的执行器配置
management: endpoints: web: base-path: /actuator exposure: include: health,env endpoint: health: show-details: always

安全配置:

`@Configuration
@EnableWebSecurity
public class SecurityConfigurer extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(HttpSecurity http) throws Exception{
        http.csrf().disable().authorizeRequests()
        .antMatchers("/actuator/env").permitAll()
        .antMatchers("/actuator/env/**").permitAll()
        .antMatchers("/actuator/health").permitAll();
        super.configure(http);
    }
}`

1 个答案:

答案 0 :(得分:0)

默认情况下,

/ actuator / env 端点是禁用的。您需要将其包含在application.properties中:

management.endpoints.web.exposure.include=env

也是这样:

http.csrf().disable().authorizeRequests().antMatchers("/actuator/**").permitAll();

您是否允许/ actuator路径下的任何内容