Spring 云配置 Server/Client 安全问题
Spring Cloud Config Server/Client Security Issue
我在
中有以下安全配置
服务器application.yml
management:
security:
enabled: false
server:
port: 8888
spring:
cloud:
config:
server:
jdbc:
order: 1
sql: SELECT prop_key,value FROM xlabs.properties where application=?
and profile=? and label=?
datasource:
password: XXXXX
url: jdbc:postgresql://localhost:8000/finos?currentSchema=xlabs
username: XXXXX
profiles:
active: jdbc
security:
user:
name: mufg
password: mufg
在客户端。
客户端application.properties
server:
port: 8082
spring:
application:
name: config-server
cloud:
config:
label: latest
profile: development
uri: http://localhost:8888
username: mufg
password: mufg
有了这个设置
配置服务器安全工作正常我可以在输入用户名和密码后通过 http://localhost:8888/config-server/development/latest 访问属性。但是当我尝试启动客户端时,它说 属性 未解决。这里有什么问题吗?
谢谢。
经过一段时间后,我找到了答案。在仅具有该配置的配置服务器中,客户端将被阻止。所以必须禁用 csrf 并允许如下任何请求。
只需添加服务器端即可。
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.httpBasic()
.and()
.authorizeRequests()
.antMatchers("/encrypt/**").authenticated()
.antMatchers("/decrypt/**").authenticated();
}
}
但这里默认的安全性将被禁用。这里的问题是如果用户名或密码从客户端身份验证发生更改。
我在
中有以下安全配置服务器application.yml
management:
security:
enabled: false
server:
port: 8888
spring:
cloud:
config:
server:
jdbc:
order: 1
sql: SELECT prop_key,value FROM xlabs.properties where application=?
and profile=? and label=?
datasource:
password: XXXXX
url: jdbc:postgresql://localhost:8000/finos?currentSchema=xlabs
username: XXXXX
profiles:
active: jdbc
security:
user:
name: mufg
password: mufg
在客户端。
客户端application.properties
server:
port: 8082
spring:
application:
name: config-server
cloud:
config:
label: latest
profile: development
uri: http://localhost:8888
username: mufg
password: mufg
有了这个设置 配置服务器安全工作正常我可以在输入用户名和密码后通过 http://localhost:8888/config-server/development/latest 访问属性。但是当我尝试启动客户端时,它说 属性 未解决。这里有什么问题吗?
谢谢。
经过一段时间后,我找到了答案。在仅具有该配置的配置服务器中,客户端将被阻止。所以必须禁用 csrf 并允许如下任何请求。
只需添加服务器端即可。
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.httpBasic()
.and()
.authorizeRequests()
.antMatchers("/encrypt/**").authenticated()
.antMatchers("/decrypt/**").authenticated();
}
}
但这里默认的安全性将被禁用。这里的问题是如果用户名或密码从客户端身份验证发生更改。