【问题标题】:Spring boot and Spring Actuator - disable securitySpring boot 和 Spring Actuator - 禁用安全性
【发布时间】:2016-05-03 14:27:35
【问题描述】:

我在我的应用程序中使用 spring-boot 1.3.1 和 spring-boot-actuator。我在pom.xml 中使用spring-boot-starter-parent 作为父级。

为了禁用安全性,我在 application.yml 中添加了 2 个条目。

security:
  basic:
    enabled: false
management:
  security:
    enabled: false

它仍然没有禁用基本安全性。当我在本地 tomcat 中启动应用程序时,我在日志文件中看到了默认密码。

【问题讨论】:

    标签: spring spring-security spring-boot spring-boot-actuator


    【解决方案1】:

    基本安全已禁用,但即使在将security.basic.enabled 设置为false 之后,Spring Boot 也会使用默认用户/密码配置身份验证管理器。 但基本安全被禁用。您可以重新配置 authenticationManager 以覆盖此行为,如下所示:

    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        @Autowired
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            auth
                    .inMemoryAuthentication()
                        .withUser("me").password("secret").roles("ADMIN");
        }
    } 
    

    【讨论】:

      【解决方案2】:

      您可以通过在 application.yml 中设置用户名/密码来停止 spring boot 以记录默认密码 -

      security:
        basic:
          enabled: false
        user:
          name: user
          password: ****
      

      【讨论】:

        【解决方案3】:

        如果存在 Spring Security,您将需要添加自定义安全配置,以允许未经身份验证的访问端点。比如:

        @Configuration
        @EnableWebSecurity
        public class SecurityConfig extends WebSecurityConfigurerAdapter {
        
        //....
        
        @Override
            public void configure(WebSecurity web) throws Exception {
                web.ignoring().antMatchers(HttpMethod.GET, "/actuator/**");
                super.configure(web);
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2016-06-19
          • 2014-07-16
          • 2020-06-11
          • 2016-01-02
          • 2019-12-28
          • 2017-06-27
          • 2018-04-26
          相关资源
          最近更新 更多