一种RBAC动态数据权限的调用方法及系统架构技术方案

技术编号:37393791 阅读:24 留言:0更新日期:2023-04-27 07:31
本发明专利技术公开了一种RBAC动态数据权限的调用方法,涉及通讯技术,解决了目前的权限方案难以做到配置隔离,且不便进行统一管理,为系统带来不必要的流程复杂度,降低系统效率的技术问题。配置缓存步骤,用于将用户动态配置与URL进行绑定,以形成关系链;配置解析步骤,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;配置调用步骤,用于根据所述服务命令的数据权限配置调用所需的服务。本发明专利技术还公开了一种RBAC动态数据权限的系统架构。本发明专利技术实现在微服务集群中做到以请求为事务隔离单位的、可以动态配置的数据权限控制,降低了流程的复杂度,提高了系统效率。统效率。统效率。

【技术实现步骤摘要】
一种RBAC动态数据权限的调用方法及系统架构


[0001]本专利技术涉及通讯技术,更具体地说,它涉及一种RBAC动态数据权限的调用方法及系统架构。

技术介绍

[0002]微服务(Micro service)是一种面向服务的、拥抱云原生的体系结构架构(SOA),将应用程序通过领域划分等方式,拆分为松散耦合的、细粒度的、通讯间使用轻量级协议多个服务。通常,各个服务拥有自己的堆栈,有着明确的业务边界,能够结合容器等技术轻松的实现缩放,进行负载均衡等。
[0003]随着微服务架构的广泛传播与应用,微服务网关的重要性得以逐渐显现出来。业务服务经由统一网关封装,解决了系统权限控制代码冗余、结构复杂,模块高耦合、标准不一等问题,为系统的低耦合、高扩展,易维护提供了稳妥的解决方案。它包含两个核心概念:
[0004]1、路由转发:接收一切外界请求,转发到后端的微服务上去;
[0005]2、过滤器:在服务网关中可以完成一系列的横切功能,例如用户身份校验、限流以及监控等。
[0006]目前,有的系统通过在每个WEB页面文件中固化其所需的权限,再通过其他动态关联实现权限配置。但这种方案只能适配传统B/S架构下针对页面请求的权限管理,无法适配以微服务为代表的分布式系统中的HTTP接口控制,服务间的配置传递等权限需求。
[0007]如图1所示,常规的数据权限方案为:(1)网关接收请求,转发至对应服务;(2)服务解析请求中的身份信息识别用户;(3)根据固化在代码中的数据权限规则生成查询;(4)多级服务调用,并重复步骤(2)。即在微服务架构中,通常存在一个请求需要调用过个服务的情况,而每个服务调用,均需重复解析用户信息等步骤。
[0008]然而,每个服务调用均需要重新解析用户信息,将消耗服务器的性能;数据权限规则固化在代码中,导致数据权限规则固定不灵活,无法通过web页面等方式直观配置,也无法令修改实时生效。
[0009]此外,由于微服务分布式的特征,各个服务间往往存在配置分散的问题。如将信息存储于相互分离的数据库与缓存中,权限等信息的更改需要额外的同步机制。针对以单次请求为单位的事务,难以做到配置隔离,且不便进行统一管理,为系统带来不必要的流程复杂度,降低系统效率。

技术实现思路

[0010]本专利技术要解决的技术问题是针对现有技术的不足,提供一种RBAC动态数据权限的调用方法及系统架构,解决了目前的权限方案难以做到配置隔离,且不便进行统一管理,为系统带来不必要的流程复杂度,降低系统效率的问题。
[0011]本专利技术所述的一种RBAC动态数据权限的调用方法,包括,
[0012]配置缓存步骤,用于将用户动态配置与URL进行绑定,以形成关系链;
[0013]配置解析步骤,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;
[0014]配置调用步骤,用于根据所述服务命令的数据权限配置调用所需的服务。
[0015]配置缓存步骤,具体包括,
[0016]S11、根据用户动态配置在URL中设置数据权限配置;
[0017]S12、将URL与用户角色进行关联,得到由用户角色、URL和用户动态配置形成的关系链;
[0018]S13、将所述关系链进行数据缓存。
[0019]在所述关系链中,所述URL与用户角色为多对多的关系。
[0020]在所述关系链中,所述URL与数据权限配置为一对一的关系。
[0021]配置解析步骤,具体包括,
[0022]S21、当微服务网关接收到服务请求时,从所述服务请求中解析出用户角色及URL;
[0023]S22、根据所述用户角色和URL,从所述数据缓存中获取数据权限配置,并将其加载在服务命令中。
[0024]所述服务命令为请求头。
[0025]所述微服务网关接收到服务请求时,拦截所述服务请求,并对其进行合法性认证。
[0026]配置调用步骤,具体包括,
[0027]S31、提取所述服务命令中的数据权限配置;
[0028]S32、根据所述数据权限配置生成用户查询,以为用户提供服务;
[0029]S33、若继续调用其他微服务,则返回S31。
[0030]一种RBAC动态数据权限的系统架构,包括,
[0031]配置缓存模块,用于将用户动态配置与URL进行绑定,以形成关系链;
[0032]配置解析模块,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;
[0033]配置调用模块,用于根据所述服务命令的数据权限配置调用所需的服务。
[0034]有益效果
[0035]本专利技术的优点在于:利用微服务网关统一入口接收服务请求,将动态配置与URL进行结合,通过请求头在服务间的传递,实现了服务间配置的统一存取及实时同步变更。实现在微服务集群中做到以请求为事务隔离单位的、可以动态配置的数据权限控制,降低了流程的复杂度,提高了系统效率。
附图说明
[0036]图1为本专利技术的常规的数据权限方案流程图;
[0037]图2为本专利技术的数据权限实现方法流程图;
[0038]图3为本专利技术的关系链结构示意图。
具体实施方式
[0039]下面结合实施例,对本专利技术作进一步的描述,但不构成对本专利技术的任何限制,任何人在本专利技术权利要求范围所做的有限次的修改,仍在本专利技术的权利要求范围内。
[0040]参阅图2,本专利技术的一种RBAC动态数据权限的调用方法。其中,RBAC(Role

Based Access Control)是基于角色的权限访问控制。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。该调用方法包括,
[0041]配置缓存步骤,用于将用户动态配置与URL进行绑定,以形成关系链。通过将用户动态配置与URL进行绑定,使用户动态配置变更能够实现请求级别的事务隔离,用户动态配置变更可以在下一次请求到来时即使生效,且不会对过往正在执行的请求产生影响。
[0042]其中,URL(uniform resource locator)是统一资源定位系统,是因特网的万维网服务程序上用于指定信息位置的表示方法。
[0043]具体的,配置缓存步骤包括,
[0044]S11、根据用户动态配置在URL中设置数据权限配置。
[0045]S12、将URL与用户角色进行关联,得到由用户角色、URL和用户动态配置形成的关系链。如图3所示,通过关系链的构建,可确立一种URL与用户角色为多对多的关系,以及URL与数据权限配置为一对一的关系。通过用户角色及URL,能够精准定位数据权限配置,有利于后续对数据权限配置的快速获取。
[0046]S13、将所述关系链进行数据缓存。
[0047]配置解析步骤,用于解析所述关系链,以获取数据权限配置,并将所述数据权本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RBAC动态数据权限的调用方法,其特征在于,包括,配置缓存步骤,用于将用户动态配置与URL进行绑定,以形成关系链;配置解析步骤,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;配置调用步骤,用于根据所述服务命令的数据权限配置调用所需的服务。2.根据权利要求1所述的一种RBAC动态数据权限的调用方法,其特征在于,配置缓存步骤,具体包括,S11、根据用户动态配置在URL中设置数据权限配置;S12、将URL与用户角色进行关联,得到由用户角色、URL和用户动态配置形成的关系链;S13、将所述关系链进行数据缓存。3.根据权利要求2所述的一种RBAC动态数据权限的调用方法,其特征在于,在所述关系链中,所述URL与用户角色为多对多的关系。4.根据权利要求2所述的一种RBAC动态数据权限的调用方法,其特征在于,在所述关系链中,所述URL与数据权限配置为一对一的关系。5.根据权利要求1所述的一种RBAC动态数据权限的调用方法,其特征在于,配置解析步骤,具体包括,S21、当微服务网关接收到...

【专利技术属性】
技术研发人员:曹祚潇钟建辉
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1