[发明专利]一种可扩展的数据权限规则控制方法在审
申请号: | 201810959231.3 | 申请日: | 2018-08-22 |
公开(公告)号: | CN108985101A | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 李丽;周祥国;彭晓迪;邵珠强 | 申请(专利权)人: | 山东浪潮通软信息科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/60 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 规则变量 数据权限规则 上下文变量 规则解析 业务数据 资源访问 可扩展 计算机请求 系统上下文 变量指定 程序实现 定义规则 定义权限 对象加载 分配结果 解析数据 权限对象 权限规则 选择规则 直接获取 直接权限 灵活的 运行时 引擎 解析 虚拟 分配 配置 继承 访问 | ||
1.一种可扩展的数据权限规则控制方法,其特征在于,
包括:定义权限规则变量,明确规则变量类型,规则变量类型包括:上下文变量、SQL变量和程序集变量;
根据规则变量类型,定义规则解析方法,上下文变量为系统上下文,SQL变量通过SQL直接获取业务数据,程序集变量需要继承虚拟类,通过程序实现业务数据的获取;对定义的权限规则和规则解析方法进行配置;分配时,直接权限对象加载规则变量,通过选择规则变量指定权限对象的资源访问范围;运行时,通过规则解析引擎解析数据分配结果,提供可以访问的资源范围。
2.根据权利要求1所述的方法,其特征在于,
具体步骤如下:
S1:定义规则变量:规则变量包括变量名称、变量编号、变量类型、变量适用范围;变量类型包括上下文变量、SQL变量和程序集变量;
S2:定义规则变量解析方法:基于S1定义的规则变量,定义业务规则的解析方法;
S3:配置对应的配置文件:基于S1、S2定义的规则变量及规则变量解析方法,在服务器端配置文件中进行配置;
S4:分配时,根据权限对象加载步骤三中配置的规则变量,通过选择规则变量指定权限对象的数据访问范围;
S5:运行时,通过规则解析引擎解析数据分配结果,获取实际可访问的数据权限。
3.根据权利要求2所述的方法,其特征在于,
上下文变量,直接使用系统上下文会话中的变量;
SQL变量,通过SQL解析确认当前变量值;
程序集变量,通过程序集的方式获取当前变量值;当上下文变量和SQL变量都无法解析一种规则变量时,需要通过程序集的方式进行解析;程序集解析需要统一继承抽象类实现抽象方法,该抽象方法返回值为string类型,表示变量解析值。
4.根据权利要求2所述方法,其特征在于:
S3,配置对应的配置文件,首先,定义配置节,在节点下上定义针对步骤S1中的三种变量类型定义三个配置节:上下文变量、SQL变量、程序集变量;在这三个配置节下分别定义变量集合;根据每种变量类型的特性,定义变量类型属性;
上下文变量配置节包含属性:变量名称、变量编号、适用范围、上下文变量;
SQL变量节包含属性:变量名称、变量编号、适用范围、解析SQL;
程序集变量配置节包含属性: 变量名称、变量编号、适用范围、程序集名、类名。
5.根据权利要求4所述方法,其特征在于:
S4,分配时,读取步骤S3中配置文件中的规则配置节,根据权限对象的模块以及规则变量的适用范围,来加载规则变量,通过选择规则变量指定权限对象的数据访问范围。
6.根据权利要求5所述方法,其特征在于:
S5,运行时,规则解析引擎根据步骤S4分配的数据权限规则变量,在规则配置节中找到规则变量的解析方法,根据解析方法获取实际可访问的数据权限;上下文变量直接节点属性“上下文变量”,可以直接使用上下文类进行访问;SQL变量直接返回节点属性“解析SQL”,程序集变量通过反射程序集和类,运行S2中的方法获取返回值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810959231.3/1.html,转载请声明来源钻瓜专利网。