技术领域
[0001] 本发明涉及接口管理技术领域,尤其是涉及一种接口统一管理系统和平台接口管理系统。
相关背景技术
[0002] 目前,对于接口及权限的管理,普遍基于各系统自己进行设置,服务端对各客户设置权限,根据客户的请求,生成权限验证,发送给数据库,数据库调用权限功能表进行对比,反馈给服务器对比结果,服务器进行权限判定,根据判定结果,给予客户相应的权限范围操作。
[0003] 在这种情况下,如果客户组织架构发生变化,或业务管理目标进行了调整,导致权限体系设计无法及时响应或满足数据权限的变化,数据的开发与共享无法持续保障管理者对安全的要求。平台权限架构演进困难,业务层面改造代价巨大。主要表现在以下几个方面:1)针对用户获取数据的权限识别控制逻辑在业务层面,未能很好的将权限控制与业务数据处理进行解耦,随着业务或权限的变更,直接导致业务层代码的频繁升级更新;
2)存在同一份数据集,因权限开放范围及数据范围不同,需提供多个不同的接口来进行权限控制;
3)开放接口所返回的数据结构(属性)相对固定,无法满足动态管理要求、对返回结果集进行动态权限调整要求;
4)权限配置方式相对固化,不够灵活,同时,无法满足行业的管理层级标准,如教育行业中省、市、区、校的组织级别控制,以及更具体的学段、年级、班级组织控制粒度。
[0004] 因此,对接口进行统一管理是目前亟待解决的问题。
具体实施方式
[0019] 以下结合附图对本发明作进一步详细说明。
[0020] 具体实施例一本申请的一种接口统一管理系统,根据接口设置、注册申请、主题发布,生成接口配置库,管理接口;接收接口应用申请,审核申请权限、应用接口配置,对符合条件的应用申请匹配相应接口,进行接口与应用申请的配置管理。
[0021] 如图1所示,包括网关控制层和接口业务层,网关控制层用于实现对不同开放类型接口的授权支持,进行接口授权分级控制,进行安全等级对数据脱敏的处理,控制登录授权使用接口的配额、期限与结果,根据用户授权级别不同,进行不同的处理。
[0022] 接口业务层,对于角色级授权用户和业务级授权用户,进行不同的登录处理,对所有授权用户进行安全等级控制及关键字控制,并根据用户权限,返回接口调用结果。
[0023] 具体地,网关控制层将接口进行列表,形成接口配置库,包括来自主题开放接口、平台服务接口、用户注册接口,检查接口状态,包括检查是否在线、接口开放类型、统计接口调度情况、验证当前登录权限、接口是否对当前登录授权、检查调用接口的级别等,对不同级别的登录用户分配相应的接口。
[0024] 主题开放接口,是通过"数据主题管理系统"建立的接口式开放数据。
[0025] 平台服务接口,是通过"接口统一管理系统"新增或注解自动导入的接口。
[0026] 接口授权级别包括:应用级授权、登录级授权、角色级授权、业务级授权。
[0027] 应用级授权,应用者必须申请,经过授权后才能使用接口。
[0028] 登录级授权,在应用级授权的条件下,用户须具备合法登录身份才能使用接口。
[0029] 角色级授权,在应用级授权、登录级授权的条件下,用户只能使用接口与用户角色相匹配的数据。
[0030] 业务级授权,在应用级授权、登录级授权的条件下,用户只能使用接口与用户业务属性相匹配的数据。
[0031] 因此,对于不同用户,可能用同一个接口进行数据处理。
[0032] 接口的开放类型包括申请授权使用、无需授权使用。
[0033] 验证当前登录用户身体是否有效,在身份有效时,登录次数是否达到设定次数值,是否在设定期限内登录,在符合条件时,异步统计登录用户调用接口的次数,根据用户权限,进行相应的处理。
[0034] 验证接口是否对登录用户进行了授权。
[0035] 针对用户相关权限属性进行实例化,对当前登录用户在使用周期内数据进行缓存处理,避免接口高频调用带来的用户数据频繁初始化。 用户相关权限属性包括:用户信息、用户属性、用户机构、用户部门等,其中,用户信息包括用户ID/账号/姓名等属性,用户属性包括用户的各种与信息对应的信息。
[0036] 在需要进行角色级授权、业务级授权控制的接口实现类中,引入用户权限属性组件包,判断接口注册信息中是否为角色级授权或业务级授权。
[0037] 角色级授权:在业务接口实现代码中,需要验证角色参数值与用户权限属性中的角色值是否一致,如果不一致,接口直接返回权限异常。
[0038] 业务级授权:分为用户/属性/机构/部门的不同业务属性的授权粒度控制。
[0039] 用户控制,业务接口代码中,获得用户权限属性中的用户ID,对返回数据进行用户级范围控制,避免出现跨用户数据越界操作。
[0040] 属性控制,针对接口所设置业务属性权限,业务接口代码中,需限定属性参数值为当前用户权限属性中的属性值,避免出现跨属性数据操作。
[0041] 机构控制:业务接口代码中,可根据接口注册配置的机构控制策略,获得用户权限属性中所在机构,对返回的数据进行机构级范围控制,避免出现数据越界访问。包括:本机构可见/直属下级机构可见/直属上级机构可见/所有下级机构可见/所有上级机构可见。
[0042] 部门控制:业务接口代码中,可根据接口注册配置的部门控制策略,获得用户权限属性中所在部门,对返回数据进行部门级范围控制,避免出现数据越界访问。包括:本部门可见/直属下级部门可见/直属上级部门可见/所有下级部门可见/所有上级部门可见。
[0043] 安全等级控制,针对接口注册配置的安全等级,在接口层需对返回的数据集中,涉及到敏感信息的字段进行混淆加密处理,如手机号码、密码、证件号码、邮箱。
[0044] 返回结果集字段控制,针对接口使用申请时,审核或设置该接口针对使用者允许返回的结果集字段,在接口层需对返回(Response)数据集中,对于不允许返回的字段进行屏蔽(Remove)处理。
[0045] 应用用户提出申请,接口统一管理系统根据接口授权级别,对不同用户进行不同的级别授权,获得接口使用权限,在用户登录时,检查用户权限、接口授权级别,对不同用户配置相应接口,同一接口设置不同级别的授权,对应不同的应用需求。
[0046] 在本申请的一个具体实施例中,接口统一管理系统应用于大数据教育中,用户调用接口,包括以下步骤:S1、检查接口是否在线,若在线,进入下一下,若否,转S17;
S2、检查接口开放类型;
S3、对于申请授权开放接口,验证当前登录用户调用接口是否超出设定次数值,若否,进入下一步,若是,转S17;
S4、验证当前登录用户调用接口是否超出设定期限,若否,进入下一步,若是,转S17;
S5、判断登录用户对于接口的授权级别,对于登录级授权,进入下一步,对于应用级授权,转S7,对于角色级授权,转S8,对于业务级授权,转S9;
S6、验证登录用户身份是否合法,若是,转S14,若否,转S17;
S7、验证应用用户或系统用户是否已获得授权使用当前接口,若是,转S14,若否,转S17;
S8、判断接口处理数据的角色与用户角色是否匹配,若是,转S14,若否,转S17S9、对于业务级授权,分别进行用户控制、属性控制、机构控制、部门控制;
S10、判断接口处理用户级数据是否与登录用户ID匹配,若是,进入下一步,若否,转S17;
S11、判断接口处理的业务数据是否与登录用户相应属性匹配,若是,进入下一步,若否,转S17;
S12、判断接口处理的业务数据是否与登录用户机构匹配,若是,进入下一步,若否,转S17;
S13、判断接口处理的业务数据是否与登录用户部门匹配,若是,进入下一步,若否,转S17;
S14、进入安全等级控制,对返回结果中包含的敏感字段进行加密处理;
S15、进行返回字段控制,对返回结果中不返回字段进行屏蔽处理;
S16、返回接口调用结果给用户,转S18;
S17、返回接口权限异常结果;
S18、结束。
[0047] 用户属性包括用户学段、年级、班级、学科等。
[0048] 具体实施例二本申请的一种平台接口管理系统,如图2所示,包括数据开放门户系统、数据主题管理系统、接口统一管理系统,数据开放门户系统用于提交注册申请、应用申请、查询审核结果、浏览已获批接口列表及使用情况;数据主题管理系统用于浏览与定义主题数据接口;
接口统一管理系统用于结合网关形成统一的权限控制体系,接收数据开放门户系统的注册申请、主题发布,结合主题数据接口,生成接口配置库,配置用户权限,根据登录申请,审核应用申请的权限、属性、接口需求,配置相应地接口给应用申请,设置返回结果数据接口统一管理系统的权限控制体系,包括进行接口设置与使用统计,统一审核数据开放申请,统一授权业务接口,以及纠错与主题分类的后台管理功能;审核接口的使用申请,包括主题数据接口、平台服务接口的使用申请,审核数据安全。
[0049] 接口统一管理系统,采集接口注册信息到接口管理平台中,注册新的接口,接口信息修改或调整后,更新接口管理平台中的记录,注册信息包括:接口名称、来源系统、接口功能描述、请求方式、授权级别。
[0050] 来源系统表示接口所属系统。
[0051] 数据开放门户系统,用于给应用开发者提供:接口列表、接口详情、我的申请、获批接口、使用情况等信息,接收接口申请和接口统一管理系统的批准数据。
[0052] 接口统一管理系统接收数据开放门户系统的接口申请数据,经过审批后,返回批准数据给数据开放门户系统。
[0053] 向应用开放的接口,必须实现需求所要求的权限控制体系,并通过接口注册后,才能向应用开放使用。
[0054] 各应用使用接口,必须通过申请流程获取相关接口使用权限,在平台授权许可后方可正常使用。
[0055] 接口统一管理:对平台的开放接口进行设置,同时对接口使用进行统一的管理,配置应用使用接口的次数/期限,以及返回结果数据的设置。
[0056] 进行不同开放类型的授权支持、授权分级控制、安全等级对数据脱敏的处理、应用授权使用接口的配额、期限与结果的控制。
[0057] 具体实施例三本发明一实施例提供的一种平台接口管理系统终端,包括接口统一管理系统终端设备或平台接口管理系统终端设备,该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如路径路径加权可用性计算程序,所述处理器执行所述计算机程序时实现实施例1、2中的方法。
[0058] 示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述接口统一管理系统终端设备或所述平台接口管理系统终端设备中的执行过程。例如,所述计算机程序可以被分割成多个模块。
[0059] 所述接口统一管理系统终端设备或所述平台接口管理系统终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述接口统一管理系统终端设备或所述平台接口管理系统终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述上述示例仅仅是所述接口统一管理系统终端设备或所述平台接口管理系统终端设备的示例,并不构成对所述接口统一管理系统终端设备或所述平台接口管理系统终端设备的限定,可以包括更多或更少的部件,或组合某些部件,或不同的部件,例如所述接口统一管理系统终端设备或所述平台接口管理系统终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0060] 所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数据信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种接口统一管理系统终端设备或所述平台接口管理系统终端设备的控制中心,利用各种接口和线路连接整个所述一种接口统一管理系统终端设备或所述平台接口管理系统终端设备的各个部分。
[0061] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种接口统一管理系统终端设备或所述平台接口管理系统终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card ,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0062] 具体实施例四所述一种接口统一管理系统终端设备或所述平台接口管理系统终端设备集成的模块/单元,如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
[0063] 本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。