SpringCloud如何配置Eureka授权
现在已经成功的实现了一个Eureeka的服务启动以及微服务的注册配置操作,但是现在的程序有一个问题,你自己公司的Eureka服务应该可以注册的服务只能够是满足于认证要求的微服务,所有这样来在之前所进行的Eureka里面配置缺少了关键性的一步:安全认证,所以应该为Eureka配置上安全认证处理。
【microcloud-eureka-7001】修改pom.xml配置文件,引入SpringSecurity依赖包。
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>microcloud</artifactId>
<groupId>com.gwolf</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.gwolf</groupId>
<artifactId>microcloud-eureka-7001</artifactId>
<packaging>jar </packaging>
<name>microcloud-eureka-7001</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
</project>
【microcloud-eureka-7001】一旦我们的项目之中导入了Security开发包,则每一次启动微服务的时候都会自动生成一个密码,而这个密码由于会改变,所以一般都不使用,所以要修改application.yml配置文件,追加密码的配置项。
server:
port: 7001
eureka:
instance: #eureka实例定义
hostname: eureka-7001.com #设置清理的间隔时间,默认这个时间使用的毫秒单单位(默认是60秒)
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka-7001.com:7001/eureka
register-with-eureka: false #当前的微服务不注册到eureka之中
fetch-registry: false
server:
enable-self-preservation: false #是否要设置成保护模式
eviction-interval-timer-in-ms: 60000 #不通过eureka获取注册信息
spring:
application:
name: microcloud-eureka-7001
security:
user:
name: eureka
password: eureka
此时访问Eureka的服务地址为:http://eureka:eureka@eureka-7001.com:7001/,要求输入用户名和密码。
【microcloud-eureka-7001】所有注册到Eureka服务的地方都要加上用户名和密码。
server:
port: 7001
eureka:
instance: #eureka实例定义
hostname: eureka-7001.com #设置清理的间隔时间,默认这个时间使用的毫秒单单位(默认是60秒)
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka
register-with-eureka: false #当前的微服务不注册到eureka之中
fetch-registry: false
server:
enable-self-preservation: false #是否要设置成保护模式
eviction-interval-timer-in-ms: 60000 #不通过eureka获取注册信息
spring:
application:
name: microcloud-eureka-7001
security:
user:
name: eureka
password: eureka
【microcloud-provider-dept-8001】修改application.yml配置文件,进行授权配置。
server:
port: 8001
mybatis:
config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
type-aliases-package: com.gwolf.vo # 定义所有操作类的别名所在包
mapper-locations: # 所有的mapper映射文件
- classpath:mybatis/mapper/**/*.xml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型
driver-class-name: com.mysql.cj.jdbc.Driver # 配置MySQL的驱动程序类
url: jdbc:mysql://localhost:3306/mldn_1?serverTimezone=UTC # 数据库连接地址
username: root # 数据库用户名
password: root # 数据库连接密码
dbcp2: # 进行数据库连接池的配置
min-idle: 5 # 数据库连接池的最小维持连接数
initial-size: 5 # 初始化提供的连接数
max-total: 5 # 最大的连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
application:
name: microcloud-provider-dept
eureka:
client: #客户端进行Eureka注册的配置
service-url:
defaultZone: http://eureka:eureka@eureka-7001.com:7001/eureka
instance:
instance-id: dept-8001.com #在信息列表中显示主机名称
prefer-ip-address: true #访问的路径变为IP地址
lease-renewal-interval-in-seconds: 2 #设置心跳的时间间隔(默认是30秒)
lease-expiration-duration-in-seconds: 5 #如果现在超过了5秒的间隔(默认90秒)
info:
app.name: gwolf-microcloud
company.name: www.gwolf.com
build.artifactId: $project.artifactId$
build.version: $project.version$
启动eureka注册服务和部门微服务,查看安全认证之后微服务是否注册成功了。
SpringCloud如何配置Eureka授权的更多相关文章
- spring-cloud配置eureka客户端
spring-cloud配置eureka客户端 eureka用来发现其他程序 需要提前配置eureka服务端,具体看 https://www.cnblogs.com/ye-hcj/p/10292944 ...
- 《springCloud系列》——Eureka 进行服务治理
整理一下: @EnableEurekaServer 注册中心 @EnableDiscoveryClient 提供服务 @EnableFeignClients 消费者(Feign特有的,而且他自带断路器 ...
- 七、springcloud之配置中心Config(二)之高可用集群
方案一:传统作法(不推荐) 服务端负载均衡 将所有的Config Server都指向同一个Git仓库,这样所有的配置内容就通过统一的共享文件系统来维护,而客户端在指定Config Server位置时, ...
- SpringCloud学习(3)——Eureka服务注册中心及服务发现
Eureka概述: Eureka是Netflix的一个子模块, 也是核心模块之一.Eureka是一个基于REST的服务, 用于定位服务, 以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务框 ...
- Spring-cloud微服务 Eureka学习教程-单服务器配置之快速搭建EurekaServer、EurekaClient(基础)
以下实例代码下载地址:https://github.com/wades2/EurekaDemo Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现, ...
- SpringCloud 分布式配置中心
SpringCloud 分布式配置中心 服务端 创建工程并完善结构 国际惯例,把maven工程创建完善 pom.xml <?xml version="1.0" encodin ...
- 带你入门SpringCloud统一配置 | SpringCloud Config
前言 在微服务中众多服务的配置必然会出现相同的配置,如果配置发生变化需要修改,一个个去修改然后重启项目的方案是绝对不可取的.而 SpringCloud Config 就是一个可以帮助你实现统一配置选择 ...
- SpringCloud教程一:eureka注册中心(Finchley版)
一.spring cloud简介 本阶段学习教程Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE. Finchley版本的官方文档如 ...
- SpringCloud学习笔记-Eureka基础
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的微服务治理功能. 服务端 ...
随机推荐
- Codeforces Round #377 (Div. 2) A. Buy a Shovel【暴力/口袋里面有无限枚 10 元和一枚 r 面值的硬币,问最少可以买多少把价值为 k 的铁铲】
A. Buy a Shovel time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- ORA-17129=SQL 字符串不是DML 语句
ORA-17129=SQL 字符串不是DML 语句 oracle这个错误的意思是 select 不可以算DML 数据操纵语言(Data Manipulation Language, DML)是SQL语 ...
- Group Shifted Strings -- LeetCode
Given a string, we can "shift" each of its letter to its successive letter, for example: & ...
- Guess Number Higher or Lower -- LeetCode
We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...
- Uva 11542 Square
题目中说数组中的数的最大质因子不超过500,我们筛出≤500的质数,然后考虑对每个质数列一个方程组.. 然后这几乎就是高斯消元求解异或方程组的模板题了.... 注意答案是 2^(自由元数量)-1,因为 ...
- 在C#中用RX库和await来实现直观的状态机
在程序的设计过程中,我们经常会遇到一些需要使用状态机的场景,相信状态机的编写和维护是令每一个程序员都非常头大的事情.到了C# 5.0后,由于引进了await语法糖,我们可以通过await和Reacti ...
- [bug]The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
写在前面 在模拟请求的时候,如果url为https的,会报这个错误.大概错误就是:基础连接已关闭:无法建立信任关系的SSL / TLS的安全通道. The underlying connection ...
- Android简单的利用MediaRecorder进行录音的实例代码
MainActivity.java package com.example.soundrecord_demo; import java.io.IOException; import android.m ...
- 修改oracle内存大小
在默认安装情况下,oracle的内存分配是按系统内存的大小比例分配的,内存比较大的情况下,oracle所占的内存也大,该情况下,我们一般要修改sga值来减少系统中oracle的内存过大问题. 用dba ...
- 2017.4.7 e.toString() 与 e.getMessage()的区别
我使用的时候,抛出了空指针异常,本来是想将异常信息显示在errorInfo里,却发现没有拿到错误信息. 原因:我用的是getMessage(). 用e.getMessage() 时,返回的是null. ...