基于关系数据模型的业务平台资源访问控制方法及系统技术方案

技术编号:30825212 阅读:19 留言:0更新日期:2021-11-18 12:20
本发明专利技术公开基于关系数据模型的业务平台资源访问控制方法及系统,该方法包括如下步骤:步骤SS1:建立业务系统的关系数据模型;步骤SS2:定义资源范围表达式的描述语言;步骤SS3:基于所述关系数据模型及描述语言,配置角色访问策略的资源范围表达式;步骤SS4:解析所述步骤SS3获得的资源范围表达式,生成SQL查询对象,执行SQL语句得到结果;步骤SS5:更新资源ID集合查询缓存。本发明专利技术通过比较通用的关系数据模型来对资源进行分组管理,能适用于目前大部分业务系统的资源访问控制子系统,具备较强的通用性。的通用性。的通用性。

【技术实现步骤摘要】
基于关系数据模型的业务平台资源访问控制方法及系统


[0001]本专利技术涉及一种基于关系数据模型的业务平台资源访问控制方法及系统,属于访问控制设计


技术介绍

[0002]现有的大部分业务系统使用RBAC(基于角色的访问控制)来控制用户对资源的访问权限。RBAC的基本思想是,对资源操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合,每一种角色对应一组相应的权限,一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。需要配置角色的访问策略,即指定角色能访问的资源范围和能对这些资源执行的操作。
[0003]目前角色访问策略指定角色能访问的资源范围主要有有以下配置方式:1显示指定资源ID的集合,其缺点是对于在系统运行过程中动态生成的资源,需要管理员手动对访问策略进行频繁的更新,这样不仅效率低下,维护成本也会很高,系统不灵活,可扩展性差;2在条件表达式中指定资源的类型和其他过滤条件,其缺点是需要把所有的资源查询出来然后依次执行条件表达式,才能得到角色能访问到的资源ID集合,这样效率比较低下。为了解决上述问题,需要一种新的资源访问控制方法。

技术实现思路

[0004]本专利技术的目的在于,克服现有技术存在的技术缺陷,解决上述技术问题,提出一种基于关系数据模型的业务平台资源访问控制方法及系统,提高业务系统中资源访问控制子系统的灵活性、可扩展性和运行效率,降低其维护成本。
[0005]本专利技术具体采用如下技术方案:基于关系数据模型的业务平台资源访问控制方法,包括如下步骤:
[0006]步骤SS1:建立业务系统的关系数据模型;
[0007]步骤SS2:定义资源范围表达式的描述语言;
[0008]步骤SS3:基于所述关系数据模型及描述语言,配置角色访问策略的资源范围表达式;
[0009]步骤SS4:解析所述步骤SS3获得的资源范围表达式,生成SQL查询对象,执行SQL语句得到结果;
[0010]步骤SS5:更新资源ID集合查询缓存。
[0011]作为一种较佳的实施例,所述步骤SS1具体包括:
[0012]提取出系统中资源类型和资源分组的类型,建立一张资源分组类型表和一张资源分组实例表,为每种类型的资源单独建一张表;
[0013]资源分组类型和资源分组实例之间有一对多的关联关系;
[0014]资源分组实例是分层级的,同层级的资源分组实例有相同的资源分组类型,资源分组实例和资源分组实例之间有一对多的关联关系;一些类型的资源和资源分组实例之间
有多对多的关联关系;另一些资源和资源之间有一对多的关联关系;用户和资源分组实例之间有多对多的关系。
[0015]作为一种较佳的实施例,所述步骤SS2具体包括:所述资源范围表达式的计算结果是一种类型的资源ID集合;所述描述语言定义资源范围表达式的语法和语义,在资源范围表达式中能够表示数据表、字段、关联关系、表连接和过滤条件,以及集合的并、差、交操作。
[0016]作为一种较佳的实施例,所述步骤SS3具体包括:在关系数据模型中找到指定类型的资源到用户之间的关联关系的路径,根据这个路径按照定义好的描述语言配置资源范围表达式,配置好后对所述资源范围表达式的语法和语义进行验证。
[0017]作为一种较佳的实施例,所述步骤SS4中的生成SQL查询对象具体包括:使用解析器对资源范围表达式进行语法和语义分析,把资源范围表达式翻译成一种ORM对象关系映射框架的SQL查询对象;所述执行SQL语句得到结果具体包括:ORM框架中的SQL查询对象适配主流的数据库如MySQL、PostgreSQL、Oracle,调用适配主流数据库直接生成具体的SQL查询语句,然后执行SQL查询语句,得到指定类型的资源ID集合。
[0018]作为一种较佳的实施例,所述步骤SS5具体包括:缓存中存放的是<用户ID

角色ID

资源类型ID

操作ID:资源ID集合>的键值对,能设置所述键值对的失效期;查询用户的指定角色能访问指定操作的指定类型资源的资源ID集合时,首先会经过缓存,如果缓存中没有有效的资源ID集合,才会执行所述步骤SS4的步骤得到结果并保存在缓存中;当角色访问策略发生变化时,使键中包含这个角色ID的所有键值对失效;当新增资源或者删除资源时,使键中包含这个资源类型ID的所有键值对失效。
[0019]本专利技术还提出基于关系数据模型的业务平台资源访问控制系统,包括:
[0020]关系数据模块,用于执行:建立业务系统的关系数据模型;
[0021]语言定义模块,用于执行:定义资源范围表达式的描述语言;所述资源范围表达式的计算结果是一种类型的资源ID集合;所述描述语言定义资源范围表达式的语法和语义,在资源范围表达式中能够表示数据表、字段、关联关系、表连接和过滤条件,以及集合的并、差、交操作;
[0022]配置表达式模块,用于执行:基于所述关系数据模型及描述语言,配置角色访问策略的资源范围表达式,具体为在关系数据模型中找到指定类型的资源到用户之间的关联关系的路径,根据这个路径按照定义好的描述语言配置资源范围表达式,配置好后对所述资源范围表达式的语法和语义进行验证;
[0023]解析执行模块,用于执行:解析所述配置表达式模块获得的资源范围表达式,生成SQL查询对象,执行SQL语句得到结果;
[0024]更新模块,用于执行:更新资源ID集合查询缓存。
[0025]作为一种较佳的实施例,所述关系数据模块具体执行包括:
[0026]提取出系统中资源类型和资源分组的类型,建立一张资源分组类型表和一张资源分组实例表,为每种类型的资源单独建一张表;
[0027]资源分组类型和资源分组实例之间有一对多的关联关系;
[0028]资源分组实例是分层级的,同层级的资源分组实例有相同的资源分组类型,资源分组实例和资源分组实例之间有一对多的关联关系;一些类型的资源和资源分组实例之间有多对多的关联关系;另一些资源和资源之间有一对多的关联关系;用户和资源分组实例
之间有多对多的关系。
[0029]作为一种较佳的实施例,所述解析执行模块中的生成SQL查询对象具体包括:使用解析器对资源范围表达式进行语法和语义分析,把资源范围表达式翻译成一种ORM对象关系映射框架的SQL查询对象;所述执行SQL语句得到结果具体包括:ORM框架中的SQL查询对象适配主流的数据库如MySQL、PostgreSQL、Oracle,调用适配主流数据库直接生成具体的SQL查询语句,然后执行SQL查询语句,得到指定类型的资源ID集合。
[0030]作为一种较佳的实施例,所述更新模块具体执行包括:缓存中存放的是<用户ID

角色ID

资源类型ID

操作ID:资源ID集合>的键值对,能设置所述键值对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于关系数据模型的业务平台资源访问控制方法,其特征在于,包括如下步骤:步骤SS1:建立业务系统的关系数据模型;步骤SS2:定义资源范围表达式的描述语言;步骤SS3:基于所述关系数据模型及描述语言,配置角色访问策略的资源范围表达式;步骤SS4:解析所述步骤SS3获得的资源范围表达式,生成SQL查询对象,执行SQL语句得到结果;步骤SS5:更新资源ID集合查询缓存。2.根据权利要求1所述的基于关系数据模型的业务平台资源访问控制方法,其特征在于,所述步骤SS1具体包括:提取出系统中资源类型和资源分组的类型,建立一张资源分组类型表和一张资源分组实例表,为每种类型的资源单独建一张表;资源分组类型和资源分组实例之间有一对多的关联关系;资源分组实例是分层级的,同层级的资源分组实例有相同的资源分组类型,资源分组实例和资源分组实例之间有一对多的关联关系;一些类型的资源和资源分组实例之间有多对多的关联关系;另一些资源和资源之间有一对多的关联关系;用户和资源分组实例之间有多对多的关系。3.根据权利要求1所述的基于关系数据模型的业务平台资源访问控制方法,其特征在于,所述步骤SS2具体包括:所述资源范围表达式的计算结果是一种类型的资源ID集合;所述描述语言定义资源范围表达式的语法和语义,在资源范围表达式中能够表示数据表、字段、关联关系、表连接和过滤条件,以及集合的并、差、交操作。4.根据权利要求1所述的基于关系数据模型的业务平台资源访问控制方法,其特征在于,所述步骤SS3具体包括:在关系数据模型中找到指定类型的资源到用户之间的关联关系的路径,根据这个路径按照定义好的描述语言配置资源范围表达式,配置好后对所述资源范围表达式的语法和语义进行验证。5.根据权利要求1所述的基于关系数据模型的业务平台资源访问控制方法,其特征在于,所述步骤SS4中的生成SQL查询对象具体包括:使用解析器对资源范围表达式进行语法和语义分析,把资源范围表达式翻译成一种ORM对象关系映射框架的SQL查询对象;所述执行SQL语句得到结果具体包括:ORM框架中的SQL查询对象适配主流的数据库如MySQL、PostgreSQL、Oracle,调用适配主流数据库直接生成具体的SQL查询语句,然后执行SQL查询语句,得到指定类型的资源ID集合。6.根据权利要求1所述的基于关系数据模型的业务平台资源访问控制方法,其特征在于,所述步骤SS5具体包括:缓存中存放的是<用户ID

角色ID

资源类型ID

操作ID:资源ID集合>的键值对,能设置所述键值对的失效期;查询用户的指定角色能访问指定操作的指定类型资源的资源ID集合时,首先会经过缓存,如果缓存中没有有效的资源ID集合,才会执行所述步骤SS4的步骤得到结果并保存在缓存中;当角色访问策略发生变化时,使键中包含这个角色ID的所有键值对失效;当新增资源或者删...

【专利技术属性】
技术研发人员:史添曹颂钟星
申请(专利权)人:南京图菱视频科技有限公司
类型:发明
国别省市:

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

1