springcloud security 用户认证开启
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
启动程序,正常启动。。。