CN108985101A - 一种可扩展的数据权限规则控制方法 - Google Patents

一种可扩展的数据权限规则控制方法 Download PDF

Info

Publication number
CN108985101A
CN108985101A CN201810959231.3A CN201810959231A CN108985101A CN 108985101 A CN108985101 A CN 108985101A CN 201810959231 A CN201810959231 A CN 201810959231A CN 108985101 A CN108985101 A CN 108985101A
Authority
CN
China
Prior art keywords
variable
rule
sql
context
rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810959231.3A
Other languages
English (en)
Inventor
李丽
周祥国
彭晓迪
邵珠强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN201810959231.3A priority Critical patent/CN108985101A/zh
Publication of CN108985101A publication Critical patent/CN108985101A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种可扩展的数据权限规则控制方法,属于计算机请求资源访问技术领域,包括定义权限规则变量,明确规则变量类型,规则变量类型包括:上下文变量、SQL变量和程序集变量;根据规则变量类型,定义规则解析方法,上下文变量为系统上下文,SQL变量可以通过SQL直接获取业务数据,程序集变量需要继承虚拟类,通过程序实现业务数据的获取;对定义的权限规则和规则解析方法进行配置;分配时,直接权限对象加载规则变量,通过选择规则变量指定权限对象的资源访问范围;运行时,通过规则解析引擎解析数据分配结果,提供可以访问的资源范围。因此,本发明能够提供灵活的数据权限规则控制。

Description

一种可扩展的数据权限规则控制方法
技术领域
本发明涉及计算机请求资源访问技术,尤其涉及一种可扩展的数据权限规则控制方法。
背景技术
随着业务模块、业务规模的不断增加,对业务资源访问变得越来越复杂。不同的用户群体,可访问的业务资源不同,需要进行资源的数据权限控制。但是很多资源数据权限访问需求不可预见,不可预知,或者是对同一类业务资源的数据访问权限控制不同行业、不同的客户群体需求不同,需要提供不依赖于产品、不依赖行业的可扩展的数据访问控制方法。
发明内容
为了解决以上技术问题,本发明提出了一种可扩展的数据权限规则控制方法。能够做到对资源的数据权限访问权限进行扩展配置。
本发明的技术方案是:
包括如下步骤:
S1:定义规则变量。规则变量包括变量名称、变量编号、变量类型、变量适用范围。变量类型包括上下文变量、SQL变量和程序集变量。
S2:定义规则变量解析方法。基于S1定义的规则变量,定义业务规则的解析方法;
S3:配置对应的配置文件。基于S1、S2定义的规则变量及规则变量解析方法,在服务器端配置文件中进行配置;
S4:分配时,根据权限对象加载S3中配置的规则变量,通过选择规则变量指定权限对象的数据访问范围;
S5:运行时,通过规则解析引擎解析数据分配结果,获取实际可访问的数据权限。
S1所述包括:定义规则变量实体类,其实体类包含的属性为:名称(VariableName),编号(ValiableCode),类型(VariableType),适用范围(VariableScope)。
S2所述包括:定义规则变量解析方法,规则变量分为三种类型:上下文变量(ContextVariable)、SQL变量(SQLVariable)和程序集变量(AssemblyVariable)。
上下文变量,直接使用系统上下文会话中的变量,比如,当前用户(CurrentUser当前登录的用户)、我的组织(CurrentOrg当前登录用户所在的系统组织)。
SQL变量,通过SQL解析确认当前变量值。比如,在复杂业务系统中,存在多种业务,多种业务组织,其中,我的核算部门(MyCostDepartment当前登录的用户对应的核算人员所在的核算部门),我的行政部门(MyHRDepartment当前登录用户对应的行政人员所在的行政部门),这些变量可以通过SQL的方式查找并返回数据。SQL变量解析方法中,可以直接使用上下文变量。
程序集变量,通过程序集的方式获取当前变量值。当上下文变量和SQL变量都无法解析一种规则变量时,需要通过程序集的方式进行解析。程序集解析需要统一继承抽象类AbstractAuthorizationRuleVariableParser,实现抽象方法VariableParser(AuthorizationVariableContext rule),该抽象方法返回值为string类型,表示变量解析值。
S3所述包括:配置对应的配置文件,首先,定义配置节<AuthorizationRuelVariable>,在节点AuthorizationRuelVariable下上定义针对S1中的三种变量类型定义三个配置节上下文变量<ContextVariable>、SQL变量<SQLVariable>、程序集变量<AssemblyVariable>,在这三个配置节下分别定义变量集合。根据每种变量类型的特性,定义变量类型属性。上下文变量配置节包含属性:变量名称、变量编号、适用范围、上下文变量;SQL变量节包含属性:变量名称、变量编号、适用范围、解析SQL;程序集变量配置节<AssemblyVariable>包含属性:变量名称、变量编号、适用范围、程序集名、类名。
S4所述包括:分配时,读取S3中配置文件中的规则配置节<AuthorizationRuelVariable>,根据权限对象的模块以及规则变量的适用范围,来加载规则变量,通过选择规则变量指定权限对象的数据访问范围。
S5所述包括:运行时,规则解析引擎根据S4分配的数据权限规则变量,在规则配置节<AuthorizationRuelVariable>中找到规则变量的解析方法,根据解析方法获取实际可访问的数据权限。上下文变量<ContextVariable>,直接节点属性“上下文变量”,可以直接使用上下文类进行访问;SQL变量<SQLVariable>直接返回节点属性“解析SQL”,程序集变量<AssemblyVariable>通过反射程序集和类,运行S2中的方法VariableParser(AuthorizationVariableContext rule)获取返回值。
附图说明
图1是本发明的流程示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明的一种可扩展的数据权限规则控制方法,主要包括如下步骤:
步骤1:定义规则变量。规则变量包括变量名称、变量编号、变量类型、变量适用范围。变量类型包括上下文变量、SQL变量和程序集变量。
public string VariableName{Get;Set;}
public string VariableCode{Get;Set;}
public VariableType VariableType{Get;Set;}
public string VariableScope{Get;Set;}
VariableType为变量类型,包括:ContextVariable,SQLVariable,AssemblyVariable
步骤2:定义规则变量解析方法。基于步骤1定义的规则变量,定义业务规则的解析方法;
(1)上下文变量,直接使用系统上下文会话中的变量,不需要单独解析。比如,当前用户(CurrentUser当前登录的用户)、我的组织(CurrentOrg当前登录用户所在的系统组织)。
(2)SQL变量,通过SQL解析确认当前变量值。SQL变量解析方法中,可以直接使用上下文变量。比如我的核算部门(MyCostDepartment当前登录的用户对应的核算人员所在的核算部门)。
select departID from UserCostDepartment where userID={CurrentUser}
CurrentUser为上下文变量,使用大括号进行标注其变量类型。
(3)程序集变量,通过程序集的方式获取当前变量值。程序集解析需要统一继承抽象类AbstractAuthorizationRuleVariableParser,实现抽象方法
步骤3:配置对应的配置文件。基于步骤1、步骤2定义的规则变量及规则变量解析方法,在服务器端配置文件中进行配置;
步骤4:分配时,根据权限对象加载步骤3中配置的规则变量,通过选择规则变量指定权限对象的数据访问范围;
步骤5:运行时,通过规则解析引擎解析数据分配结果,获取实际可访问的数据权限。

Claims (6)

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中的方法获取返回值。
CN201810959231.3A 2018-08-22 2018-08-22 一种可扩展的数据权限规则控制方法 Pending CN108985101A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810959231.3A CN108985101A (zh) 2018-08-22 2018-08-22 一种可扩展的数据权限规则控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810959231.3A CN108985101A (zh) 2018-08-22 2018-08-22 一种可扩展的数据权限规则控制方法

Publications (1)

Publication Number Publication Date
CN108985101A true CN108985101A (zh) 2018-12-11

Family

ID=64547214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810959231.3A Pending CN108985101A (zh) 2018-08-22 2018-08-22 一种可扩展的数据权限规则控制方法

Country Status (1)

Country Link
CN (1) CN108985101A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368266A (zh) * 2020-03-16 2020-07-03 北京三快在线科技有限公司 权限配置方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060009991A1 (en) * 2004-05-25 2006-01-12 Jun-Jang Jeng Method and apparatus for using meta-rules to support dynamic rule-based business systems
CN103020498A (zh) * 2012-11-19 2013-04-03 广东亚仿科技股份有限公司 一种智能化动态权限控制方法和系统
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN106951273A (zh) * 2017-05-02 2017-07-14 山东浪潮通软信息科技有限公司 一种动态配置生成业务工作台的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060009991A1 (en) * 2004-05-25 2006-01-12 Jun-Jang Jeng Method and apparatus for using meta-rules to support dynamic rule-based business systems
CN103020498A (zh) * 2012-11-19 2013-04-03 广东亚仿科技股份有限公司 一种智能化动态权限控制方法和系统
CN104077284A (zh) * 2013-03-26 2014-10-01 中国移动通信集团湖北有限公司 一种数据安全访问方法及系统
CN106951273A (zh) * 2017-05-02 2017-07-14 山东浪潮通软信息科技有限公司 一种动态配置生成业务工作台的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FY96989: "Jeecg 数据权限配置步骤", 《HTTPS://WWW.DOC88.C OM/P-6002870952333.HTML》 *
JEECG官方博客: "【JEECG技术文档】数据权限自定义SQL表达式用法说明", 《HTTPS://BLOG.CSDN.NET/ZHANGDAISCOTT/ARTICLE/DETAILS/79230802》 *
陈柯等: "基于数据访问层的精细访问控制研究", 《电子质量》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368266A (zh) * 2020-03-16 2020-07-03 北京三快在线科技有限公司 权限配置方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11188791B2 (en) Anonymizing data for preserving privacy during use for federated machine learning
US20200065303A1 (en) Addressing memory limits for partition tracking among worker nodes
US9594778B1 (en) Dynamic content systems and methods
Hausenblas et al. Apache drill: interactive ad-hoc analysis at scale
US7624097B2 (en) Abstract records
US20060224590A1 (en) Computer-implemented authorization systems and methods using associations
Rajpoot et al. Integrating attributes into role-based access control
CN109062952A (zh) 一种数据查询方法、装置及电子设备
CN105989082A (zh) 报表视图生成方法和装置
US11327941B2 (en) Standardized graph-based framework for determining a license position of an enterprise computer system
US11281667B2 (en) Distributed storage and distributed processing policy enforcement utilizing virtual identifiers
EP2626831A1 (en) Tag Inheritance
US10929361B2 (en) Rule-based data source selection
US11531731B2 (en) Standardized graph-based framework for determining an equivalent license unit metric for an enterprise computer system
US20100312785A1 (en) Servicing query with access path security in relational database management system
US20190340557A1 (en) Standardized graph-based framework for determining an optimal license mix for an enterprise computer system
CN110298189A (zh) 数据库权限管理方法及设备
US9195841B2 (en) Automated and delegated model-based row level security
CN107229392A (zh) 一种界面展示方法及系统
CN105468619B (zh) 用于数据库连接池的资源分配方法和装置
CN111414410B (zh) 数据处理方法、装置、设备和存储介质
Fanrong et al. Local community detection in complex networks based on maximum cliques extension
CN108985101A (zh) 一种可扩展的数据权限规则控制方法
GB2514779A (en) Information retrieval from a database system
US11423353B2 (en) System for discovering the capabilities of instruments connected to a data processing system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181211

RJ01 Rejection of invention patent application after publication