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();
        
    }
}

但这里默认的安全性将被禁用。这里的问题是如果用户名或密码从客户端身份验证发生更改。