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中心


后 记

因为能力有限,如有错误或者不当之处,还请你们批评指正,一块儿学习交流!

相关文章
相关标签/搜索