预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109948356A(43)申请公布日2019.06.28(21)申请号201910228644.9(22)申请日2019.03.25(71)申请人江苏电力信息技术有限公司地址210024江苏省南京市鼓楼区广州路189号民防大厦(72)发明人周司徒徐明生陈桂峰(74)专利代理机构南京汇盛专利商标事务所(普通合伙)32238代理人陈扬(51)Int.Cl.G06F21/60(2013.01)H04L29/06(2006.01)H04L29/08(2006.01)权利要求书1页说明书3页附图3页(54)发明名称一种基于微服务架构下服务调用权限控制方法(57)摘要本发明公开了一种基于微服务架构下服务调用权限控制方法,用于基于注册中心注册的微服务的服务授权及服务调用权限控制;微服务支持平台提供微服务授权操作功能、权限保存到Oracle及Redis中;通过Redis提供的订阅发布机制,将权限推送到授权微服务端,进行权限校验控制;包括:微服务授权操作、权限保存与发布、权限控制、权限控制客户端jar包使用。本发明对基于注册中心注册的微服务,通过授权,进行权限控制,防止非法服务调用,杜绝接口调用安全风险。CN109948356ACN109948356A权利要求书1/1页1.一种基于微服务架构下服务调用权限控制方法,其特征在于:该方法用于基于注册中心注册的微服务的服务授权及服务调用权限控制;微服务支持平台提供微服务授权操作功能、权限保存到Oracle及Redis中;通过Redis提供的订阅发布机制,将权限推送到授权微服务端,进行权限校验控制;包括:微服务授权操作、权限保存与发布、权限控制、权限控制客户端jar包使用。2.根据权利要求1所述的基于微服务架构下服务调用权限控制方法,其特征在于:微服务授权操作:由于微服务之间的调用考虑到权限控制,首先提供功能进行授权操作,微服务支撑平台提供功能进行授权操作;需要授权的微服务引入dlxx-cloud-funcauth.jar,该jar包中自动发布当前微服务所有rest服务列表接口;微服务在运行正常的情况下,支撑平台获取到该微服务的所有服务列表;权限保存与发布:权限数据在关系型数据库Oracle和内存数据库Redis各存一份;内存数据库存储的数据推送权限及服务调用验证权限使用;关系型数据库存储的数据便于检索微服务具有访问REST服务权限的列表;权限控制:微服务需要调用其它微服务的服务,引入dlxx-cloud-funcauth.jar,配置权限Redis数据库的地址;jar包中增加了接口权限控制的过滤器(此过滤器自动配置,无需微服务系统做任何处理),验证基于Ribbon方式和Feign调用的服务;验证的逻辑是基于Redis数据库保存的权限模型数据,如果没有权限,直接返回403无权限,如果具有权限则调用相应接口,返回接口结果;权限控制客户端jar包:在开发微服务项目过程中使用授权功能时,引入权限控制客户端jar包;在pom.xml中添加配置,添加完后Maven自动下载。3.根据权利要求2所述的基于微服务架构下服务调用权限控制方法,其特征在于:在权限保存与发布中,内存数据库存储:采用Redis,数据结构为:键存储REST服务的URL;值存储对应的是Set,存放微服务的系统编码;关系型数据库存储:采用Oracle,存储授权的REST服务的URL对应的微服务系统编码。2CN109948356A说明书1/3页一种基于微服务架构下服务调用权限控制方法技术领域[0001]本发明属于软件技术领域,为一种基于SpringCloud微服务架构下,微服务之间调用权限控制的机制,具体是一种基于微服务架构下服务调用权限控制方法。背景技术[0002]SpringCloud是一个基于SpringBoot实现的微服务架构开发工具。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。[0003]SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用特定的方式进行配置,使用“习惯优于配置”的理念,从而使开发人员不在需要定义样板化的配置。使用SpringBoot很容易创建一个独立运行的Spring项目,并且可以几乎不使用Spring配置或者使用很少的配置。[0004]SpringCloudRibbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于NetfiixRibbon实现。通过SpringCloud的封装,可以轻松地将面向服务的REST模板请求自动转换为客户端负载均衡的服务调用。Sp