Eureka Server 开启Spring Security Basic认证
文章共 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 Client是无法注册到 Eureka Server中心的,控制台会报无法发送心跳的错误
- 而认证通过的 Eureka Client还是按照往常一样注册到 Eureka Server中心
后 记
由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!
- My Personal Blog:CodeSheep 程序羊
- 我的半年技术博客之路
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Cloud Config 基础示例
Spring Cloud Config 简介 什么是Srping Cloud Config? Spring Cloud Config 是一种分布式配置中心框架, 为分布式系统中的外部化配置提供服务器和客户端支持。(同类技术还有vault,zookeeper,Consul) 使用Config Server,可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象,因此它们非常适合Spring应用程序,但可以与任何语言运行的任何应用程序一起使用。当应用程序通过部署管道从开发到测试并进入生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松支持配置环境的标记版本,以及可用于管理内容的各种工具。 Spring Cloud Config也主要由两部分组成: Config-Server: 用于配置外部的资源文件,支持对属性值进行加解密 Config-client:绑定到config server使用远程配置文件初始化spring,支持对属性...
- 下一篇
如何判断一个元素在亿级数据中是否存在?
前言 最近有朋友问我这么一个面试题目: 现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。 需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。 常规实现 先不考虑这个条件,我们脑海中出现的第一种方案是什么? 我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。 写入和判断元素是否存在都有对应的 API,所以实现起来也比较简单。 为此我写了一个单测,利用 HashSet 来存数据(底层也是 HashMap );同时为了后面的对比将堆内存写死: -Xms64m -Xmx64m -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError 为了方便调试加入了 GC 日志的打印,以及内存溢出后 Dump 内存。 @Test public void hashMapTest(){ long star = System.currentTimeMillis(); Set<Integer> hashset = new H...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程