Eureka Server 開啓Spring Security Basic認證

Desktop

文章共 503字,閱讀大約須要 2分鐘 !spring


概 述

Eureka Server 在實際使用過程當中必須考慮安全問題,好比 未認證的用戶 不容許其隨意調用 Eureka Server的 API;還有一個則是 未認證的 Eureka Client 也禁止其註冊到 Eureka Server中來,這些都是能夠在工程中進行配置的,固然這也是最最基本的安全認證措施,本文實踐之。安全

本文實驗環境以下:app

  • Spring Cloud:Finchley.RELEASE
  • Spring Boot:2.0.3.RELEASE

注: 本文首發於 My Personal Blog:CodeSheep·程序羊,歡迎光臨 小站spring-boot


Eureka Server搭建與配置

Eureka Server 開啓 Spring Security Basic認證首先須要在 Eureka Server中引入 Spring Security組件:學習

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-security</artifactId>
</dependency>

接下來關鍵的一步則是配置 Eureka Server工程的 yml配置文件,加入和認證相關的信息:fetch

server:
  port: 1111

spring:
  security:
    user:
      name: codesheep
      password: www.codesheep.cn

eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false

spring.security 配置的意圖應該很明確了吧,須要用戶名和密碼方可認證經過。code


Eureka Client搭建與配置

既然上面的 Eureka Server已開啓認證環節,則相應的 Eureka Client也須要對應的配置,方可經過認證再註冊到 Eureka Server中來server

搭建好 Eureka Client工程後,須要在項目配置文件中加入相似 Eureka Server的配置:xml

server:
  port: 1112

spring:
  application:
    name: eureka-client

eureka:
  client:
    security:
      basic:
        user: codesheep
        password: www.codesheep.cn

    serviceUrl:
      defaultZone: http://${eureka.client.security.basic.user}:${eureka.client.security.basic.password}@localhost:1111/eureka/

這樣就完成了基於 Spring Security Basic的基礎認證blog


實驗驗證

  • 啓動 Eureka Server後,不再能裸進 Eureka Server管理界面了,須要輸入用戶名/密碼 認證

進 Eureka Server管理界面了,須要輸入用戶名/密碼 認證

  • 沒有經過認證的 Eureka Client是沒法註冊到 Eureka Server中心的,控制檯會報沒法發送心跳的錯誤

沒有經過認證的 Eureka Client沒法註冊到 Eureka Server中心

沒有經過認證的 Eureka Client沒法註冊到 Eureka Server中心

  • 而認證經過的 Eureka Client仍是按照往常同樣註冊到 Eureka Server中心

認證經過的 Eureka Client仍是按照往常同樣註冊到 Eureka Server中心


後 記

因爲能力有限,如有錯誤或者不當之處,還請你們批評指正,一塊兒學習交流!

相關文章
相關標籤/搜索