一种RBAC动态数据权限的调用方法及系统架构与流程

文档序号:33954849发布日期:2023-04-26 14:38阅读:50来源:国知局
一种RBAC动态数据权限的调用方法及系统架构与流程

本发明涉及通讯技术,更具体地说,它涉及一种rbac动态数据权限的调用方法及系统架构。


背景技术:

1、微服务(micro service)是一种面向服务的、拥抱云原生的体系结构架构(soa),将应用程序通过领域划分等方式,拆分为松散耦合的、细粒度的、通讯间使用轻量级协议多个服务。通常,各个服务拥有自己的堆栈,有着明确的业务边界,能够结合容器等技术轻松的实现缩放,进行负载均衡等。

2、随着微服务架构的广泛传播与应用,微服务网关的重要性得以逐渐显现出来。业务服务经由统一网关封装,解决了系统权限控制代码冗余、结构复杂,模块高耦合、标准不一等问题,为系统的低耦合、高扩展,易维护提供了稳妥的解决方案。它包含两个核心概念:

3、1、路由转发:接收一切外界请求,转发到后端的微服务上去;

4、2、过滤器:在服务网关中可以完成一系列的横切功能,例如用户身份校验、限流以及监控等。

5、目前,有的系统通过在每个web页面文件中固化其所需的权限,再通过其他动态关联实现权限配置。但这种方案只能适配传统b/s架构下针对页面请求的权限管理,无法适配以微服务为代表的分布式系统中的http接口控制,服务间的配置传递等权限需求。

6、如图1所示,常规的数据权限方案为:(1)网关接收请求,转发至对应服务;(2)服务解析请求中的身份信息识别用户;(3)根据固化在代码中的数据权限规则生成查询;(4)多级服务调用,并重复步骤(2)。即在微服务架构中,通常存在一个请求需要调用过个服务的情况,而每个服务调用,均需重复解析用户信息等步骤。

7、然而,每个服务调用均需要重新解析用户信息,将消耗服务器的性能;数据权限规则固化在代码中,导致数据权限规则固定不灵活,无法通过web页面等方式直观配置,也无法令修改实时生效。

8、此外,由于微服务分布式的特征,各个服务间往往存在配置分散的问题。如将信息存储于相互分离的数据库与缓存中,权限等信息的更改需要额外的同步机制。针对以单次请求为单位的事务,难以做到配置隔离,且不便进行统一管理,为系统带来不必要的流程复杂度,降低系统效率。


技术实现思路

1、本发明要解决的技术问题是针对现有技术的不足,提供一种rbac动态数据权限的调用方法及系统架构,解决了目前的权限方案难以做到配置隔离,且不便进行统一管理,为系统带来不必要的流程复杂度,降低系统效率的问题。

2、本发明所述的一种rbac动态数据权限的调用方法,包括,

3、配置缓存步骤,用于将用户动态配置与url进行绑定,以形成关系链;

4、配置解析步骤,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;

5、配置调用步骤,用于根据所述服务命令的数据权限配置调用所需的服务。

6、配置缓存步骤,具体包括,

7、s11、根据用户动态配置在url中设置数据权限配置;

8、s12、将url与用户角色进行关联,得到由用户角色、url和用户动态配置形成的关系链;

9、s13、将所述关系链进行数据缓存。

10、在所述关系链中,所述url与用户角色为多对多的关系。

11、在所述关系链中,所述url与数据权限配置为一对一的关系。

12、配置解析步骤,具体包括,

13、s21、当微服务网关接收到服务请求时,从所述服务请求中解析出用户角色及url;

14、s22、根据所述用户角色和url,从所述数据缓存中获取数据权限配置,并将其加载在服务命令中。

15、所述服务命令为请求头。

16、所述微服务网关接收到服务请求时,拦截所述服务请求,并对其进行合法性认证。

17、配置调用步骤,具体包括,

18、s31、提取所述服务命令中的数据权限配置;

19、s32、根据所述数据权限配置生成用户查询,以为用户提供服务;

20、s33、若继续调用其他微服务,则返回s31。

21、一种rbac动态数据权限的系统架构,包括,

22、配置缓存模块,用于将用户动态配置与url进行绑定,以形成关系链;

23、配置解析模块,用于解析所述关系链,以获取数据权限配置,并将所述数据权限配置加载到服务命令中;

24、配置调用模块,用于根据所述服务命令的数据权限配置调用所需的服务。

25、有益效果

26、本发明的优点在于:利用微服务网关统一入口接收服务请求,将动态配置与url进行结合,通过请求头在服务间的传递,实现了服务间配置的统一存取及实时同步变更。实现在微服务集群中做到以请求为事务隔离单位的、可以动态配置的数据权限控制,降低了流程的复杂度,提高了系统效率。



技术特征:

1.一种rbac动态数据权限的调用方法,其特征在于,包括,

2.根据权利要求1所述的一种rbac动态数据权限的调用方法,其特征在于,配置缓存步骤,具体包括,

3.根据权利要求2所述的一种rbac动态数据权限的调用方法,其特征在于,在所述关系链中,所述url与用户角色为多对多的关系。

4.根据权利要求2所述的一种rbac动态数据权限的调用方法,其特征在于,在所述关系链中,所述url与数据权限配置为一对一的关系。

5.根据权利要求1所述的一种rbac动态数据权限的调用方法,其特征在于,配置解析步骤,具体包括,

6.根据权利要求1或5所述的一种rbac动态数据权限的调用方法,其特征在于,所述服务命令为请求头。

7.根据权利要求5所述的一种rbac动态数据权限的调用方法,其特征在于,所述微服务网关接收到服务请求时,拦截所述服务请求,并对其进行合法性认证。

8.根据权利要求5所述的一种rbac动态数据权限的调用方法,其特征在于,配置调用步骤,具体包括,

9.一种rbac动态数据权限的系统架构,其特征在于,包括,


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

技术研发人员:曹祚潇,钟建辉
受保护的技术使用者:广东亿迅科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1