我已经配置了一个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/