如何保护Spring云配置服务器
我知道SpringCloudConfig服务器可以使用用户名和密码进行保护,这必须由访问客户端提供 如何防止客户端存储这些用户名和密码 在客户端的bootstrap.yml文件中以明文形式输入密码 应用程序/服务如何保护Spring云配置服务器,spring,spring-cloud,Spring,Spring Cloud,我知道SpringCloudConfig服务器可以使用用户名和密码进行保护,这必须由访问客户端提供 如何防止客户端存储这些用户名和密码 在客户端的bootstrap.yml文件中以明文形式输入密码 应用程序/服务 加密文本可以放在bootstrap.yml中 检查->非常基本的“基本身份验证”(从这里开始) 您可以通过包含对Spring安全性的额外依赖项(例如,通过Spring引导启动器安全性)来添加HTTP基本身份验证。用户名是“user”,密码在启动时打印在控制台上(标准的Spring引导方
加密文本可以放在bootstrap.yml中 检查->非常基本的“基本身份验证”(从这里开始) 您可以通过包含对Spring安全性的额外依赖项(例如,通过Spring引导启动器安全性)来添加HTTP基本身份验证。用户名是“user”,密码在启动时打印在控制台上(标准的Spring引导方法)。如果使用maven(
pom.xml
):
并在代码中添加这个最小类(BasicSecurityConfiguration.java
):
@值(“#{${qa.admin.password:admin}}”)允许在属性配置文件、环境变量或命令行中定义密码
例如(application.yml
):
这对我有用
编辑:您可以直接在应用程序中放置基本用户配置,而不是类。yaml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
server:
port: 8888
security:
basic:
enabled: false
qa:
admin:
password: adminadmin
user:
password: useruser
management:
port: 8888
context-path: /admin
logging:
level:
org.springframework.cloud: 'DEBUG'
spring:
cloud:
config:
server:
git:
ignoreLocalSshSettings: true
uri: ssh://git@gitlab.server.corp/repo/configuration.git
security:
basic:
enabled: true
path: /**
ignored: /health**,/info**,/metrics**,/trace**
user:
name: admin
password: tupassword
对于Spring Boot 2,application.yml中的配置现在处于Spring.security.*()
适用于我的基本身份验证配置 服务器端: 所需依赖性:
org.springframework.boot:springbootstartersecurity
bootstrap.yml
客户端:
bootstrap.yml
资料来源:,他不是这样问的。你可以尝试在bootstrap.yml中为密码设置一个占位符,并将密码作为一个环境变量。yathirigan你找到这个朋友了吗?怎么用?谢谢客户端应如何请求此配置?谢谢。出于安全原因,我认为问题在于根本没有将密码和用户名存储为明文,我现在也发现了这一点。您可以使用org.springframework.security.crypto.factory.PasswordEncoderFactorys.createDelegatingPasswordEncoder();和org.springframework.security.crypto.password.PasswordEncoder.encode(密码);为了确保密码不会以普通测试形式存储在内存中。嗨,我添加了以下内容:客户端不解析属性。有什么想法吗?您好,不确定,可能只是无效的.yml格式(有时可能有点烦人)?你能发送一些详细信息吗?
server:
port: 8888
security:
basic:
enabled: false
qa:
admin:
password: adminadmin
user:
password: useruser
management:
port: 8888
context-path: /admin
logging:
level:
org.springframework.cloud: 'DEBUG'
spring:
cloud:
config:
server:
git:
ignoreLocalSshSettings: true
uri: ssh://git@gitlab.server.corp/repo/configuration.git
security:
basic:
enabled: true
path: /**
ignored: /health**,/info**,/metrics**,/trace**
user:
name: admin
password: tupassword
spring.security:
basic:
enabled: true
path: /**
ignored: /health**,/info**,/metrics**,/trace**
user:
name: admin
password: tupassword
server:
port: 8888
spring:
cloud:
config:
server:
git:
uri: git@bitbucket.org:someRepo/repoName.git
hostKeyAlgorithm: ssh-rsa
hostKey: "general hostKey for bitbucket.org"
security:
user:
name: yourUser
password: yourPassword
spring:
application:
name: config
profiles:
active: dev
cloud:
config:
uri: http://localhost:8888
username: yourUser
password: yourPassword
management:
security:
enabled: false