SpringCloud如何配置Eureka受權

  1. 如今已經成功的實現了一個Eureeka的服務啓動以及微服務的註冊配置操做,可是如今的程序有一個問題,你本身公司的Eureka服務應該能夠註冊的服務只可以是知足於認證要求的微服務,全部這樣來在以前所進行的Eureka裏面配置缺乏了關鍵性的一步:安全認證,因此應該爲Eureka配置上安全認證處理。html

    【microcloud-eureka-7001】修改pom.xml配置文件,引入SpringSecurity依賴包。mysql

    <projectweb

            xmlns="http://maven.apache.org/POM/4.0.0"spring

            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"sql

            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">數據庫

        <parent>apache

            <artifactId>microcloud</artifactId>安全

            <groupId>com.gwolf</groupId>mybatis

            <version>1.0</version>app

        </parent>

        

        <modelVersion>4.0.0</modelVersion>

        <groupId>com.gwolf</groupId>

        <artifactId>microcloud-eureka-7001</artifactId>

        <packaging>jar </packaging>

        <name>microcloud-eureka-7001</name>

        <url>http://maven.apache.org</url>

        <properties>

            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        </properties>

        <dependencies>

            <dependency>

                <groupId>ch.qos.logback</groupId>

                <artifactId>logback-core</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-jetty</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-web</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-test</artifactId>

                <scope>test</scope>

            </dependency>

            <dependency>

                <groupId>org.springframework</groupId>

                <artifactId>springloaded</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-devtools</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-starter-eureka-server</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-starter-config</artifactId>

            </dependency>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-starter-config</artifactId>

            </dependency>

        

            <dependency>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-security</artifactId>

            </dependency>

        </dependencies>

    </project>

    SpringCloud如何配置Eureka安全訪問?
  2. 【microcloud-eureka-7001】一旦咱們的項目之中導入了Security開發包,則每一次啓動微服務的時候都會自動生成一個密碼,而這個密碼因爲會改變,因此通常都不使用,因此要修改application.yml配置文件,追加密碼的配置項。

    server:

      port: 7001

    eureka:

      instance: #eureka實例定義

        hostname: eureka-7001.com #設置清理的間隔時間,默認這個時間使用的毫秒單單位(默認是60秒)

      client: #客戶端進行Eureka註冊的配置

          service-url: 

            defaultZone: http://eureka-7001.com:7001/eureka

          register-with-eureka: false #當前的微服務不註冊到eureka之中

          fetch-registry: false

      server:

        enable-self-preservation: false #是否要設置成保護模式

        eviction-interval-timer-in-ms: 60000  #不經過eureka獲取註冊信息

    spring:

      application:

        name: microcloud-eureka-7001

    security:

      user:

        name: eureka

        password: eureka

    SpringCloud如何配置Eureka安全訪問?
  3. 此時訪問Eureka的服務地址爲:http://eureka:eureka@eureka-7001.com:7001/,要求輸入用戶名和密碼。

    SpringCloud如何配置Eureka安全訪問?
  4. 【microcloud-eureka-7001】全部註冊到Eureka服務的地方都要加上用戶名和密碼。

    server:

      port: 7001

    eureka:

      instance: #eureka實例定義

        hostname: eureka-7001.com #設置清理的間隔時間,默認這個時間使用的毫秒單單位(默認是60秒)

      client: #客戶端進行Eureka註冊的配置

          service-url: 

            defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka

          register-with-eureka: false #當前的微服務不註冊到eureka之中

          fetch-registry: false

      server:

        enable-self-preservation: false #是否要設置成保護模式

        eviction-interval-timer-in-ms: 60000  #不經過eureka獲取註冊信息

    spring:

      application:

        name: microcloud-eureka-7001

    security:

      user:

        name: eureka

        password: eureka

    SpringCloud如何配置Eureka安全訪問?
  5. 【microcloud-provider-dept-8001】修改application.yml配置文件,進行受權配置。

    server:

      port: 8001

    mybatis:

      config-location: classpath:mybatis/mybatis.cfg.xml    # mybatis配置文件所在路徑

      type-aliases-package: com.gwolf.vo       # 定義全部操做類的別名所在包

      mapper-locations:                                     # 全部的mapper映射文件

      - classpath:mybatis/mapper/**/*.xml

    spring:

      datasource:

        type: com.alibaba.druid.pool.DruidDataSource    # 配置當前要使用的數據源的操做類型

        driver-class-name: com.mysql.cj.jdbc.Driver      # 配置MySQL的驅動程序類

        url: jdbc:mysql://localhost:3306/mldn_1?serverTimezone=UTC   # 數據庫鏈接地址

        username: root                                  # 數據庫用戶名

        password: root                            # 數據庫鏈接密碼

        dbcp2:                                          # 進行數據庫鏈接池的配置

          min-idle: 5                                   # 數據庫鏈接池的最小維持鏈接數

          initial-size: 5                               # 初始化提供的鏈接數

          max-total: 5                                  # 最大的鏈接數

          max-wait-millis: 200                          # 等待鏈接獲取的最大超時時間

      application:

        name: microcloud-provider-dept

    eureka:

      client: #客戶端進行Eureka註冊的配置

        service-url: 

          defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka

      instance:

        instance-id: dept-8001.com  #在信息列表中顯示主機名稱

        prefer-ip-address: true   #訪問的路徑變爲IP地址

        lease-renewal-interval-in-seconds: 2  #設置心跳的時間間隔(默認是30秒)

        lease-expiration-duration-in-seconds: 5 #若是如今超過了5秒的間隔(默認90秒)

    info:

      app.name: gwolf-microcloud

      company.name: www.gwolf.com

      build.artifactId: $project.artifactId$

      build.version:  $project.version$

    SpringCloud如何配置Eureka安全訪問?
  6. 啓動eureka註冊服務和部門微服務,查看安全認證以後微服務是否註冊成功了。

    SpringCloud如何配置Eureka安全訪問?
相關文章
相關標籤/搜索