springcloud 的注册中心,配置中心,如果不配置用户认证的情况下,任何人都可以访问,这样如果对外网开放的情况下,可能会存在信息暴露的问题。
springcloud提供了用户安全验证机制,就是在配置文件中,增加账号密码,然后当访问页面的时候,必须是输入配置的账号密码登录的情况下才能访问想要看见的内容。
同时,如果配置了安全验证,那么相应的客户端程序中也需要增加安全验证,配置文件中加上账号密码。
1、首先是服务端,需要加上相应的jar包引入。pom.xml
<!-- 配置中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!--eureka 客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--security-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
2、在服务端application.yml中配置账号密码
spring:
security:
user:
name: config #账号
password: mypwd #密码
3、此时正常启动服务应用config-server时
启动服务,用ip+端口访问,会增加了输入账号密码这一步骤,
这里输入config/mypwd后
能正常访问。
4、客户端访问
客户端,需要在之前访问配置中增加账号密码
标红的部分为新增的账号密码部分
a、如果是http形式
spring:
cloud:
config:
uri: http://config:mypwd@localhost:8888/
也可以这样
spring:
cloud:
config:
uri: http://localhost:8888/
username: config
password: mypwd
b、如果是通过eureka上服务节点形式
spring:
cloud:
config:
name: my-zipkin
discovery:
enabled: true
service-id: server-config
profile: conf
username: config
password: mypwd
启动程序,正常启动。。。