首页> 中国专利> 基于dubbo框架的接口权限控制方法及装置

基于dubbo框架的接口权限控制方法及装置

摘要

本发明公开了一种基于dubbo框架的接口权限控制方法及装置,其中方法包括:接收服务消费方发送的服务请求报文;根据所述服务请求报文,确定产品标识信息和目标接口信息;将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。本发明可以有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率。

著录项

  • 公开/公告号CN112217823A

    专利类型发明专利

  • 公开/公告日2021-01-12

    原文格式PDF

  • 申请/专利权人 中国银行股份有限公司;

    申请/专利号CN202011088768.0

  • 发明设计人 单亚冰;

    申请日2020-10-13

  • 分类号H04L29/06(20060101);H04L12/24(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人吴学锋;吕俊刚

  • 地址 100818 北京市西城区复兴门内大街1号

  • 入库时间 2023-06-19 09:32:16

说明书

技术领域

本发明涉及接口权限控制技术领域,尤其涉及基于dubbo框架的接口权限控制方法及装置。

背景技术

随着分布式技术的发展,银行IT体系也在逐步使用分布式架构。在银行系统的应用方案中,服务方在注册中心暴露服务,消费方从注册中心订阅自己需要的服务。但是有些情况下,服务方提供的服务并不想暴露给其他系统。因此,需要在服务方进行接口权限控制,明确哪些产品可以调用接口服务。

现有技术中,一般通过限制访问zookeeper ACL服务的IP来控制权限。但是,在分布式的背景下服务消费方IP未必是固定的,经常调整IP耗时费力;并且,一个zookeeper集群上注册的服务可以有很多,所有服务共享同一个权限控制机制,无法通过该机制来针对性控制每一个服务接口的权限。

因此,亟需一种可以克服上述问题的接口权限控制方案。

发明内容

本发明实施例提供一种基于dubbo框架的接口权限控制方法,用以有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率,该方法包括:

接收服务消费方发送的服务请求报文;

根据所述服务请求报文,确定产品标识信息和目标接口信息;

将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。

本发明实施例提供一种基于dubbo框架的接口权限控制装置,用以有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率,该装置包括:

报文接收模块,用于接收服务消费方发送的服务请求报文;

信息确定模块,用于根据所述服务请求报文,确定产品标识信息和目标接口信息;

权限控制模块,用于将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于dubbo框架的接口权限控制方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于dubbo框架的接口权限控制方法的计算机程序。

相比于现有技术中通过限制访问zookeeper ACL服务的IP来控制权限的方案而言,本发明实施例通过接收服务消费方发送的服务请求报文;根据所述服务请求报文,确定产品标识信息和目标接口信息;将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。本发明实施例无需实时调整服务消费方IP,只需根据服务提供方的配置文件对过滤器进行预先配置,当接收服务消费方发送的服务请求报文后,确定产品标识信息和目标接口信息,并输入预先配置的过滤器,即可以实现自动接口权限控制,过程中无需人为参与,从而有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中基于dubbo框架的接口权限控制方法示意图;

图2为本发明另一实施例中基于dubbo框架的接口权限控制方法示意图;

图3为本发明实施例中基于dubbo框架的接口权限控制装置结构图;

图4为本发明另一实施例中基于dubbo框架的接口权限控制装置结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

首先,对本申请实施例中涉及的名词进行介绍:

dubbo:阿里巴巴开源的分布式服务框架,是SOA(service orientedarchitecture面向服务的架构)服务化治理方案的核心框架。主要提供三方面功能;远程接口调用;负载均衡和容错;自动服务注册与发现。

zookeeper:注册中心,负责服务地址的注册与查找,相当于目录服务,服务提供者和服务消费者只在启动时与注册中心交互。

provider:暴露服务的服务提供方。

consumer:调用远程服务的服务消费方。

registry:服务注册与发现的注册中心。

monitor:统计服务的调用次调和调用时间的监控中心。

container:服务运行容器。

其中,调用关系说明如下:服务容器container负责启动,加载,运行服务提供方provider。服务提供方provider在启动时,向注册中心registry注册自己提供的服务。服务消费方consumer在启动时,向注册中心registry订阅自己所需的服务。注册中心registry返回服务提供方provider地址列表给消费方consumer,如果有变更,注册中心registry将基于长连接推送变更数据给消费方consumer。服务消费方consumer,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用。服务消费方consumer和提供方provider,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心monitor。

为了有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率,本发明实施例提供一种基于dubbo框架的接口权限控制方法,如图1所示,该方法可以包括:

步骤101、接收服务消费方发送的服务请求报文;

步骤102、根据所述服务请求报文,确定产品标识信息和目标接口信息;

步骤103、将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。

由图1所示可以得知,本发明实施例通过接收服务消费方发送的服务请求报文;根据所述服务请求报文,确定产品标识信息和目标接口信息;将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。本发明实施例无需实时调整服务消费方IP,只需根据服务提供方的配置文件对过滤器进行预先配置,当接收服务消费方发送的服务请求报文后,确定产品标识信息和目标接口信息,并输入预先配置的过滤器,即可以实现自动接口权限控制,过程中无需人为参与,从而有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率。

具体实施时,首先接收服务消费方发送的服务请求报文,然后根据服务请求报文,确定产品标识信息和目标接口信息。进而,将产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,其中,过滤器根据服务提供方的配置文件进行预先配置。

实施例中,所述配置文件包含一个或多个配置项信息,所述一个或多个配置项信息中,每个配置项信息中携带一个或多个映射关系信息;

将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,包括:

将产品标识信息和目标接口信息与所述一个或多个配置项信息进行比对;

根据比对的结果,进行接口权限控制。

本实施例中,服务提供者增加配置文件,记录每个接口允许的调用产品,也即每个配置项信息中携带的一个或多个映射关系信息,其中每个接口的调用产品可以有多个。例如配置项com.bocsoft.TestService=productA,productB代表有且仅有productA,productB两个产品可以访问com.bocsoft.TestService接口。服务消费者如想使用一个接口,需要向服务提供者申请,提供自己的产品标识,并在接口调用代码中上送产品标识。Dubbo本身提供了过滤器接口,服务提供者实现该接口并通过配置项正常调用,确保过滤器生效。在过滤器内部首先获取消费者上送的产品标识以及目标接口,之后判断配置项中是否有该产品调用指定接口的配置;配置项中查找不到,代表该产品无权限调用该接口,交易直接报错返回;配置项中可以查找的到,代表该产品有权限调用该接口,正常执行后续操作。需要说明的是,过滤器不侵入应用代码,只需要实现一次,并且在配置文件中对需要控制权限的接口进行配置即可完成dubbo服务的接口权限控制。

实施例中,根据比对的结果,进行接口权限控制,包括:

若所述一个或多个配置项信息中包含与产品标识信息和目标接口信息匹配的映射关系信息,则开启接口调用权限。

实施例中,如图2所示,图1所述的基于dubbo框架的接口权限控制方法还包括:

步骤104、在开启接口调用权限之后,调用所述目标接口信息对应的服务提供方接口。

本发明实施例在dubbo框架中利用了过滤器机制,为服务提供方和服务消费方调用过程进行拦截设计的。每次远程方法执行,该拦截都会被执行。对接收到的请求的产品标识以及接口名进行判断,只有指定的产品标识以及指定的接口名才允许继续执行,通过这个过滤器完成了对dubbo服务接口权限的控制。可以针对dubbo服务的单个接口进行针对性的配置,完成单个接口的权限控制。并且,服务消费者横向扩展以及变更服务器部署,不会影响接口的权限控制。

基于同一发明构思,本发明实施例还提供了一种基于dubbo框架的接口权限控制装置,如下面的实施例所述。由于这些解决问题的原理与基于dubbo框架的接口权限控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

图3为本发明实施例中基于dubbo框架的接口权限控制装置的结构图,如图3所示,该装置包括:

报文接收模块301,用于接收服务消费方发送的服务请求报文;

信息确定模块302,用于根据所述服务请求报文,确定产品标识信息和目标接口信息;

权限控制模块303,用于将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。

一个实施例中,所述配置文件包含一个或多个配置项信息,所述一个或多个配置项信息中,每个配置项信息中携带一个或多个映射关系信息;

所述权限控制模块303,进一步用于:

将产品标识信息和目标接口信息与所述一个或多个配置项信息进行比对;

根据比对的结果,进行接口权限控制。

一个实施例中,所述权限控制模块303,进一步用于:

若所述一个或多个配置项信息中包含与产品标识信息和目标接口信息匹配的映射关系信息,则开启接口调用权限。

一个实施例中,如图4所示,图3的基于dubbo框架的接口权限控制装置还包括:

接口调用模块304,用于在开启接口调用权限之后,调用所述目标接口信息对应的服务提供方接口。

综上所述,本发明实施例通过接收服务消费方发送的服务请求报文;根据所述服务请求报文,确定产品标识信息和目标接口信息;将所述产品标识信息和目标接口信息输入预先配置的过滤器,进行接口权限控制,所述过滤器根据服务提供方的配置文件进行预先配置。本发明实施例无需实时调整服务消费方IP,只需根据服务提供方的配置文件对过滤器进行预先配置,当接收服务消费方发送的服务请求报文后,确定产品标识信息和目标接口信息,并输入预先配置的过滤器,即可以实现自动接口权限控制,过程中无需人为参与,从而有针对性的对每一个服务接口进行权限控制,节省人力物力,提高控制效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号