spring cloud config安全

前面两篇介绍了spring cloud config服务端客户端的简单配置,本篇介绍如何保护config server及对应config client修改。html

保护config server,主要是使用spring security进行最简单的basic安全认证(也可自定义认证方式,这里不作扩展)git

 

配置服务端代码示例:spring

在pom文件中增长依赖:bootstrap

        <dependency>
            <!-- spring security 安全认证 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

配置文件application.yml增长security配置:安全

security:
  basic:
    enabled: true  #启用基本认证(默认)
  user:   #配置security用户名密码,默认值为“user”的用户名和随机生成的密码
    name: user
    password: password123

启动服务,测试一下。请求http://localhost:18083/master/config-server-dev.yml,会发现弹出了security的basic登陆验证:服务器

输入上面配置的用户名密码(user/password123),返回配置信息app

 

客户端代码示例:spring-boot

在pom文件中增长依赖:测试

        <dependency>
            <!-- spring security 安全认证 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

修改配置文件bootstrap.yml:spa

spring:
  application:
    name: config-client
  cloud:
    config:
      profile: test   #对应spring.profiles.active
      label: master   #分支名。当使用配置服务器是git时,默认是master
#      uri: http://localhost:18083  #更改配置服务器的位置,默认地址是http://localhost:8888
      uri: http://user:password123@localhost:18083  #配置服务器增长了安全认证,这里须要提供用户名密码
      username: user  #配置服务器的用户名密码,此配置会覆盖uri中的配置
      password: password123

在上面的配置中,能够在uri上加上用户名密码,也能够直接配置spring.cloud.config.usernamespring.cloud.config.password,不事后面这种会覆盖uri中的配置(至于为何要设置这两种配置方式,是由于当spring cloud config与注册中心配合使用时,是没有uri的,因此只能在下面配置username和password)

启动服务,测试一下。请求http://localhost:18084/profile,返回配置信息:

至此,spring cloud config安全配置完成~ 

相关文章
相关标签/搜索