Eureka Server 开启Spring Security Basic认证

简介:

Desktop

文章共 503字,阅读大约需要 2分钟 !


概 述

Eureka Server 在实际使用过程中必须考虑安全问题,比如 未认证的用户 不允许其随意调用 Eureka Server的 API;还有一个则是 未认证的 Eureka Client 也禁止其注册到 Eureka Server中来,这些都是可以在工程中进行配置的,当然这也是最最基本的安全认证措施,本文实践之。

本文实验环境如下:

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

注: 本文首发于 My Personal Blog:CodeSheep·程序羊,欢迎光临 小站


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配置文件,加入和认证相关的信息:

server:
  port: 1111

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

eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false

spring.security 配置的意图应该很明确了吧,需要用户名和密码方可认证通过。


Eureka Client搭建与配置

既然上面的 Eureka Server已开启认证环节,则相应的 Eureka Client也需要对应的配置,方可通过认证再注册到 Eureka Server中来

搭建好 Eureka Client工程后,需要在项目配置文件中加入类似 Eureka Server的配置:

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的基础认证


实验验证

  • 启动 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中心


后 记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!



目录
相关文章
|
7天前
|
安全 Java 数据安全/隐私保护
使用Spring Security实现细粒度的权限控制
使用Spring Security实现细粒度的权限控制
|
7天前
|
安全 Java 数据库
实现基于Spring Security的权限管理系统
实现基于Spring Security的权限管理系统
|
7天前
|
安全 Java 数据安全/隐私保护
解析Spring Security中的权限控制策略
解析Spring Security中的权限控制策略
|
22天前
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
44 4
Spring Security 6.x 微信公众平台OAuth2授权实战
|
25天前
|
存储 安全 Java
Spring Security 6.x OAuth2登录认证源码分析
上一篇介绍了Spring Security框架中身份认证的架构设计,本篇就OAuth2客户端登录认证的实现源码做一些分析。
51 2
Spring Security 6.x OAuth2登录认证源码分析
|
26天前
|
安全 Java API
Spring Security 6.x 图解身份认证的架构设计
【6月更文挑战第1天】本文主要介绍了Spring Security在身份认证方面的架构设计,以及主要业务流程,及核心代码的实现
25 1
Spring Security 6.x 图解身份认证的架构设计
|
7天前
|
安全 Java 数据安全/隐私保护
使用Spring Security实现细粒度的权限控制
使用Spring Security实现细粒度的权限控制
|
11天前
|
安全 Java 数据安全/隐私保护
使用Java和Spring Security实现身份验证与授权
使用Java和Spring Security实现身份验证与授权
|
13天前
|
存储 安全 Java
Spring Security在企业级应用中的应用
Spring Security在企业级应用中的应用
|
14天前
|
存储 安全 Java
Spring Security与OAuth2集成开发
Spring Security与OAuth2集成开发