我已经配置了一个Spring Cloud Config服务器来强制进行BASIC身份验证,这是我的application.yml文件:

# Config Repo:
spring:
  cloud:
    config:
      server:
        git:
          uri: file:///${HOME}/microservices_config_repo

# Show sensitive information for endpoints:
endpoints:
  sensitive: true

# Security for endpoints:
management:
  security:
    enabled: true

security:
  user:
    name: user1
    password: changeme


我遇到的问题是,当我以以下方式启动服务器时:
mvn spring-boot:运行

服务器终结点FORCE BASIC身份验证。
但是,当我启动Application.main()方法时,启用了BASIC身份验证,但未强制执行。

这意味着我可以在以下位置访问配置:
http://localhost:8888/client-config

http://user1:changeme@localhost:8888/client-config

谁能帮助我了解为什么会这样,以及如何在运行Application.main()时而不是仅通过Maven spring-boot插件来执行BASIC身份验证?

请注意,当我使用maven将应用程序打包到jar中,然后运行生成的jar时,将强制执行BASIC身份验证,但仍不能通过仅直接运行Application.main的IDE进行。

最佳答案

也许以Yaml为例,格式对我来说似乎是这样的:

server:
  port:9999
spring:
  application:
    name: config-server-sample
  cloud:
    config:
      name: ${spring.application.name}
      fail-fast: true
      server:
        git:
          uri: url
          username: xx
          password: zz
          default-label: master
          basedir: '${user.home}/${spring.application.name}/default'
          timeout: 10
          clone-on-start: true
          force-pull: true
  security:
    basic:
        enabled: true
    path: /**
    ignored: /health**,/info**,/metrics**,/trace**
    user:
       name: admin
       password: tupassword

关于spring - 运行main()时,Spring Cloud Config Server不强制执行BASIC身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45621751/

10-10 02:52