SpringCloud集成Security安全(Eureka注册中心)
1.说明
为了保护注册中心的服务安全,
避免恶意服务注册到Eureka,
需要对Eureka Server进行安全保护,
本文基于Spring Security方案,
为Eureka Server增加最简单的Basic安全认证。
2.Eureka Server添加安全依赖
修改pom.xml,添加spring-boot-starter-security依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
3.Eureka Server配置用户名密码
修改application.yml,配置用户名密码:
spring:
security:
user:
name: eureka
password: eureka123456
4.Eureka Server,测试验证
先只启动Eureka Server,
通过浏览器的URL访问注册中心,
http://localhost:7001/
首先会跳到登录界面,
要求输入用户名密码:
认证成功后,访问到管理界面:
5.Eureka Server关闭csrf检验
Security默认启用了csrf检验,
CSRF一般指跨站请求伪造攻击,
要在Eureka Server端配置关闭csrf检验,
否则Eureka Client无法访问注册中心,
新建类WebSecurityConfig.java如下:
package com.yuwen.spring.eureka.config;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
super.configure(http);
}
}
6.Eureka Client配置用户名密码
客户端要访问配置中心,
需要修改application.yml,
配置上面的用户名密码:
eureka:
client:
service-url:
defaultZone: http://eureka:eureka123456@localhost:7001/eureka
目前配置文件支持如下格式配置用户名密码:
http://user:password@localhost:7001/eureka,
HTTP基本身份认证将自动添加到Eureka Client。
对于更复杂的需求,
可以创建类型为DiscoveryClientOptionalArgs的@Bean,
并将ClientFilter实例注入其中。
注意由于Eureka的限制,
不可能支持每台服务器的基本身份认证凭证,
因此集群时只使用找到的第一组身份认证凭证。
7.参考文章
Spring cloud eureka 安全认证基本配置
1.3. Authenticating with the Eureka Server
SpringCloud集成Security安全(Eureka注册中心)的更多相关文章
- SpringCloud学习心得之Eureka注册中心的基本使用
SpringCloud学习心得——Eureka注册中心 示范代码链接 定义 SpringCloud Eureka是 SpringCloud Netflix微服务套件的一部分,基于 REST 的服务 ...
- SpringCloud (一)Eureka注册中心搭建
前提 系统安装jdk1.8及以上,配置好maven的ide(这里用idea进行演示,maven版本3.5,配置阿里云源) 项目搭建 新建一个maven项目,创建最简单的那种就好,项目名这里为Eurek ...
- Spring-Cloud(三)Eureka注册中心实现高可用
前言: spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里就需要对注册中心进行集群,换言之,高可 ...
- SpringCloud集成Security安全(Config配置中心)
1.说明 为了保护配置中心的敏感数据, 需要对Config Server进行安全保护, 本文基于Spring Security方案, 为Config Server增加最简单的Basic安全认证. 2. ...
- SpringCloud实战之初级入门(一)— eureka注册中心
目录 写在前面 1.资料目录 2.环境介绍 3.eureka注册中心 3.1 创建工程 3.2 启动工程 5.eureka注册中心集群高可用 6.结语 7.一点点重要的事情 写在前面 我在软件行业浸泡 ...
- SpringCloud之Eureka注册中心原理及其搭建
一.Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCl ...
- SpringCloud的入门学习之深入理解Eureka注册中心
1.Eureka 注册中心三种角色. 答:a.Eureka Server,注册中心,通过 Register.Get.Renew 等接口提供服务的注册和发现. b.Application Service ...
- SpringCloud学习心得—1.2—Eureka注册中心的密码认证、高可用的设置
SpringCloud学习心得—1.2—Eureka注册中心的密码认证.高可用的设置 这是相关代码 链接 Eureka开启密码配置 添加依赖 <dependency> <grou ...
- Spring-cloud微服务实战【二】:eureka注册中心(上)
## 前言 本系列教程旨在为大家演示如何一步一步构建一整套微服务系统,至于其中的数据库用什么,订单ID如何保持唯一,分布式相关问题等等不在我们讨论范围内,本教程为了方便大家后续下载代码运行测试,不 ...
随机推荐
- Ibatis中SqlMapClientTemplate和SqlMapClient的区别
SqlMapClientTemplate是org.springframework.orm.ibatis下的 而SqlMapClient是ibatis的 SqlMapClientTemplate是Sql ...
- EBS 抓trace 文件
如果要对FORM的操作做TRACE操作,可以使用 帮助->诊断->跟踪 中启用跟踪功能来实现. 但是如果要实现对并发请求的trace,需要在 系统管理员->并发->方案-> ...
- zabbix之微信报警
#:先在企业微信注册一个企业微信号 #:注册好之后,进入微信 #:测试一下 #:获取access_token #:开始获取 #:获取 #:在server端安装pip root@ubuntu:~# ap ...
- 大数据处理系列之(一)Java线程池使用
前言:最近在做分布式海量数据处理项目,使用到了java的线程池,所以搜集了一些资料对它的使用做了一下总结和探究, 前面介绍的东西大多都是从网上搜集整理而来.文中最核心的东西在于后面两节无界队列线程池和 ...
- 【C/C++】字符数组:char,char*,char a[], char *a[], char **s 的区别与联系/const char*和char*的区别
一.char,char*,char a[], char *a[], char **s 的区别与联系 C语言中的字符串是字符数组,可以像处理普通数组一样处理字符串. 可以理解为在内存中连续存储的字符. ...
- minikube metrics-server HPA 自动扩缩容错误
minikube metrics-server pod 错误 启动 minikube addons enable metrics-server 之后查看 metrics-server pod 会有如下 ...
- 利用Windbg分析Magicodes.IE一次错误编写导致内存剧增
由于这近一年时间一直忙于写书和工作,一直没有水文,但是近期有几位朋友使用我们的Magicodes.IE反馈在导出过程中内存暴涨...好吧,不管怎样,不能苦了我们朋友,接下来我们通过windbg来看一下 ...
- 混沌映射初始化种群之Logistic映射
Logstic混沌映射初始化种群 Step 1: 随机生成一个\(d\)维向量\({X_0}\),向量的每个分量在0-1之间. Step 2: 利用Logistic映射生成N个向量.L ...
- VMware 安装Linux (以CentOS7-2009为例)
1.VMware下载安装 链接:https://pan.baidu.com/s/11Y-AFB3aaAFxafdGPw4zaw 提取码:hskj 2.CentOS镜像官网下载:https://www. ...
- Django modules模块
http://www.cnblogs.com/wupeiqi/articles/5246483.html