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

 

启动程序,正常启动。。。

 

posted on 2020-07-27 18:00  陈惟鲜的博客  阅读(1172)  评论(0编辑  收藏  举报

导航