CN104156640A - 一种数据访问权限控制方法 - Google Patents

一种数据访问权限控制方法 Download PDF

Info

Publication number
CN104156640A
CN104156640A CN201410375662.7A CN201410375662A CN104156640A CN 104156640 A CN104156640 A CN 104156640A CN 201410375662 A CN201410375662 A CN 201410375662A CN 104156640 A CN104156640 A CN 104156640A
Authority
CN
China
Prior art keywords
data access
data
type
authority
user
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.)
Granted
Application number
CN201410375662.7A
Other languages
English (en)
Other versions
CN104156640B (zh
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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201410375662.7A priority Critical patent/CN104156640B/zh
Publication of CN104156640A publication Critical patent/CN104156640A/zh
Application granted granted Critical
Publication of CN104156640B publication Critical patent/CN104156640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本发明公开了一种数据访问权限控制方法,属于数据权限控制领域。该方法包括以下步骤:a)建立数据模型;b)建立数据类型之间的继承体系;c)建立用户模型;d)创建数据访问权限领域专用语言;e)定义数据访问权限;f)建立数据访问代理;g)进行权限判断;h)将结果通过数据访问代理返回给用户。与现有技术相比,本发明控制方法的特点是数据访问权限与业务逻辑分离,使用代理方式实现,对开发者透明,易用、可扩展、可移植,具有很好的推广应用价值。

Description

一种数据访问权限控制方法
 
技术领域
本发明涉及一种数据的访问控制方法,具体地说是一种数据访问权限控制方法。
背景技术
现代软件系统中用户趋于多样化,业务逻辑复杂,对数据安全及保密的要求越来越高。不同的用户访问不同的类型数据;对于同一种数据,某些用户可以访问其中一部分,或者某些用户只能够访问数据的某些属性。系统为了满足上述的数据访问需求,往往把数据访问控制逻辑和业务逻辑混编在一起,造成逻辑不清晰,维护繁琐、困难,并且工作量较大。
现有技术中的数据访问控制方法通常存在以下不足:(一)数据模型抽象度不够:大多以关系数据库为基础,依托数据库表实现,使用复杂、繁琐,不易扩展。在传统的关系数据库中同类数据可能存储于不同的数据表中,这样在定义数据访问权限控制时需要在不同的表上定义相同的数据访问权限控制,修改、维护时亦很繁琐,需要改动多处。(二)权限上下文模型的抽象度不够:大多建立几个固定的数据模型,如用户、部门,造成数据访问控制需求发生变化时,修改和扩展困难。(三)依赖数据的存储方式和数据库产品,当数据存储方式或数据库变化时,原来定义的数据访问权限控制或方法将不能使用或需要进行修改。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种易用的、可扩展的、可移植的、与业务逻辑分离,对开发者透明的数据访问权限控制方法。
本发明的技术任务是按以下方式实现的:一种数据访问权限控制方法,其特点是数据访问权限与业务逻辑分离,使用代理方式实现,对开发者透明。
上述方法具体包括以下步骤:
a)建立数据模型
把数据抽象为数据类型和数据对象,所述数据类型描述具有相同属性的数据的集合;数据对象是数据类型的一个实例,或者数据库中的一条记录;
b)建立数据类型之间的继承体系
首先建立根类型,所有数据类型都直接或间接继承根类型,然后数据类型之间根据性质不同建立继承关系;
c)建立用户模型
所述用户模型用于描述及限定用户范围; 
d)创建数据访问权限领域专用语言;
e)定义数据访问权限
使用步骤d中数据访问权限领域专用语言结合步骤a、步骤b中建立的数据模型及步骤c中建立的用户模型描述具体的数据访问权限,并将其持久化;
f)建立数据访问代理
使用代理模式封装原有的数据访问组件,提供和原有数据访问组件完全一样的接口及功能,用户对数据的所有访问请求都经过该数据访问代理,数据访问代理可对所有数据访问请求进行拦截、监控及修改;
g)进行权限判断
在数据被用户访问时,数据访问代理首先判断被访问的数据的类型;确定类型后查找此类型上的定义的数据访问权限,若此类型上没有定义数据访问权限,则继续查找其父类型上是否定义了数据访问权限,直至查询到跟类型,若没有定义数据访问权限则执行原有逻辑;若定义了数据访问权限,则使用数据访问权限领域专用语言解析权限,增加数据访问过滤或判断用户是否有权限访问此数据;
h)将结果通过数据访问代理返回给用户。
为了便于实现扩展,对不同的数据库类型或者数据访问方式,可实现不同的数据访问代理。
步骤a中,系统中的数据类型为数据库表、对象实体类型、或虚拟类型(抽象的数据集合)。
步骤b中,根类型的基本属性包括唯一标识、名称、代码和描述。
步骤c中,所述用户模型包括用户、角色、用户所属组织和与用户相关的能够影响用户访问数据的相关对象。
步骤d中,使用步骤c中建立的用户模型,结合a、b中建立的数据模型及运算符组成数据访问权限领域专用语言的表达式语言。
步骤e中定义数据访问控制权限时可以在类型的父类型上定义,并可控制子类型是否能够使用父类型上设置的权限。
本发明的数据访问权限控制方法与现有技术相比具有以下突出的有益效果:
(一)把数据抽象为数据类型和数据对象,并引入虚拟类型的概念,建立类型继承体系,因此可以把众多类型的数据归纳到一个虚拟的父类型上,若这些类型上需要定义相同的数据访问控制权限,只需要在它们的虚拟父类型上定义即可;
(二)进一步可以在数据抽象模型之上建立数据对象管理,从而控制单个对象的数据访问;
(三)统一的用户模型内置了常用的对象和属性,开箱即用,并可以灵活、方便的扩展,并且不影响原有模型及功能;
(四)数据访问权限领域专用语言简化了数据访问控制权限的定义,开发人员或实施人员经过短时培训即可熟练使用;
(五)使用数据访问代理实现数据访问控制权限,使开发人员在开发时只需要关心核心业务逻辑,提高了软件系统的质量,为软件的可维护性提供了基础;
(六)根据不同的数据库和不同的数据访问方式有相应的数据访问代理实现,这些代理使得数据访问权限可在不同的数据之间、关系数据库及非关系数据库之间移植;并且对于新出现的数据库可方便的实现扩展。
附图说明
附图1是本发明方法中数据访问控制权限上下文结构框图;
附图2是本发明方法中数据权限定义示意图;
附图3是本发明方法中数据访问控制权限的执行流程图。
具体实施方式
参照说明书附图以具体实施例对本发明的数据访问权限控制方法作以下详细地说明。
实施例:
本发明的数据访问权限控制方法包括以下步骤:
a)  建立数据模型
把数据抽象为数据类型和数据对象。所述数据类型是描述具有相同属性的数据的集合。系统中的数据类型可能为数据库表或者对象实体类型,或者可以为虚拟类型(抽象的数据集合);
数据对象是类型的一个实例,或者数据库中的一条记录;
b)  建立数据类型之间的继承体系
首先建立根类型,所有数据类型都直接或间接继承根类型;数据类型之间根据性质不同也建立继承关系;
c)  建立用户模型
如附图1所示,用户模型用于描述及限定用户范围,包括用户、角色、用户所属组织和与用户相关的能够影响用户访问数据的相关对象; 
d)  创建数据访问权限领域专用语言
使用步骤c中建立的用户模型,结合a、b中建立的数据模型,实现诸如“用户.角色”,“用户.机构”,“组织.上级组织”,结合运算符组成表达式语言;
e)  定义数据访问权限
如附图2所示,使用数据访问权限领域专用语言描述具体的数据访问权限,即那些用户能够访问哪些数据,并将其持久化;
f)  建立数据访问代理
使用代理模式封装原有的数据访问组件,提供和原有数据访问组件完全一样的接口及功能,用户对数据的所有访问请求都经过该数据访问代理,数据访问代理可对所有数据访问请求进行拦截、监控及修改;
g)  进行权限判断
如附图3所示,在数据被用户访问时,数据访问代理首先判断被访问的数据的类型;确定类型后查找此类型上的定义的数据访问权限,若此类型上没有定义数据访问权限,则继续查找其父类型上是否定义了数据访问权限,直至查询到跟类型,若没有定义数据访问权限则执行原有逻辑;若定义了数据访问权限,则使用数据访问控制领域专用语言解析权限,增加数据访问过滤或判断用户是否有权限访问此数据;
h)将结果通过数据访问代理返回给用户。

Claims (9)

1.一种数据访问权限控制方法,其特征在于:数据访问权限与业务逻辑分离,使用代理方式实现,对开发者透明,具体包括以下步骤:
a)建立数据模型
把数据抽象为数据类型和数据对象,所述数据类型描述具有相同属性的数据的集合;数据对象是数据类型的一个实例,或者数据库中的一条记录;
b)建立数据类型之间的继承体系
首先建立根类型,所有数据类型都直接或间接继承根类型,然后数据类型之间根据性质不同建立继承关系;
c)建立用户模型
所述用户模型用于描述及限定用户范围; 
d)创建数据访问权限领域专用语言;
e)定义数据访问权限
使用步骤d中数据访问权限领域专用语言结合步骤a、步骤b中建立的数据模型及步骤c中建立的用户模型描述具体的数据访问权限,并将其持久化;
f)建立数据访问代理
使用代理模式封装原有的数据访问组件,提供和原有数据访问组件完全一样的接口及功能,用户对数据的所有访问请求都经过该数据访问代理,数据访问代理可对所有数据访问请求进行拦截、监控及修改;
g)进行权限判断
在数据被用户访问时,数据访问代理首先判断被访问的数据的类型;确定类型后查找此类型上的定义的数据访问权限,若此类型上没有定义数据访问权限,则继续查找其父类型上是否定义了数据访问权限,直至查询到跟类型,若没有定义数据访问权限则执行原有逻辑;若定义了数据访问权限,则使用数据访问权限领域专用语言解析权限,增加数据访问过滤或判断用户是否有权限访问此数据;
h)将结果通过数据访问代理返回给用户。
2.根据权利要求1所述的数据访问权限控制方法,其特征在于:对不同的数据库类型或者数据访问方式,实现不同的数据访问代理。
3.根据权利要求1或2所述的数据访问权限控制方法,其特征在于步骤a中,系统中的数据类型为数据库表、对象实体类型、或虚拟类型。
4.根据权利要求1或2所述的数据访问权限控制方法,其特征在于步骤b中,根类型的基本属性包括唯一标识、名称、代码和描述。
5.根据权利要求1或2所述的数据访问权限控制方法,其特征在于步骤c中,所述用户模型包括用户、角色、用户所属组织和与用户相关的能够影响用户访问数据的相关对象。
6.根据权利要求1或2所述的数据访问权限控制方法,其特征在于步骤d中,使用步骤c中建立的用户模型,结合a、b中建立的数据模型及运算符组成数据访问权限领域专用语言的表达式语言。
7.根据权利要求1或2所述的数据访问权限控制方法,其特征在于,步骤e中定义数据访问控制权限时可以在类型的父类型上定义,并可控制子类型是否能够使用父类型上设置的权限。
8.根据权利要求1或2所述的数据访问权限控制方法,其特征在于可扩展的权限上下文。
9.当现有权限上下文中的对象不能满足描述权限的需要时,可对其进行扩展,使用提供的接口向权限上下文中添加对象。
CN201410375662.7A 2014-08-01 2014-08-01 一种数据访问权限控制方法 Active CN104156640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410375662.7A CN104156640B (zh) 2014-08-01 2014-08-01 一种数据访问权限控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410375662.7A CN104156640B (zh) 2014-08-01 2014-08-01 一种数据访问权限控制方法

Publications (2)

Publication Number Publication Date
CN104156640A true CN104156640A (zh) 2014-11-19
CN104156640B CN104156640B (zh) 2017-04-12

Family

ID=51882138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410375662.7A Active CN104156640B (zh) 2014-08-01 2014-08-01 一种数据访问权限控制方法

Country Status (1)

Country Link
CN (1) CN104156640B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912949A (zh) * 2016-04-13 2016-08-31 北京京东尚科信息技术有限公司 数据权限管理方法、数据权限管理系统以及业务管理系统
WO2017024956A1 (zh) * 2015-08-10 2017-02-16 阿里巴巴集团控股有限公司 数据库的访问权限处理方法、装置及系统
CN107181761A (zh) * 2017-07-20 2017-09-19 深圳市茁壮网络股份有限公司 一种操作系统登陆及访问权限控制的控制方法及系统
CN109492376A (zh) * 2018-11-07 2019-03-19 浙江齐治科技股份有限公司 设备访问权限的控制方法、装置及堡垒机
CN109684793A (zh) * 2018-12-29 2019-04-26 北京神舟航天软件技术有限公司 一种基于权限域结构树进行数据权限管理的方法
CN112597510A (zh) * 2020-12-16 2021-04-02 中国工商银行股份有限公司 访问控制方法及装置
CN114428802A (zh) * 2022-04-01 2022-05-03 北京锐融天下科技股份有限公司 基于用户权限的数据过滤方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062780A (ja) * 2002-07-31 2004-02-26 Sony Corp フォルダ管理装置、フォルダ管理方法、フォルダ管理プログラム及び、フォルダ管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
CN101706808A (zh) * 2009-11-17 2010-05-12 中国科学院软件研究所 基于索引树的海量数据库访问控制方法
CN101877695A (zh) * 2009-04-30 2010-11-03 中国移动通信集团江西有限公司 访问权限控制的系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062780A (ja) * 2002-07-31 2004-02-26 Sony Corp フォルダ管理装置、フォルダ管理方法、フォルダ管理プログラム及び、フォルダ管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体
CN101877695A (zh) * 2009-04-30 2010-11-03 中国移动通信集团江西有限公司 访问权限控制的系统及方法
CN101706808A (zh) * 2009-11-17 2010-05-12 中国科学院软件研究所 基于索引树的海量数据库访问控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
单少波等: "代理模式在权限控制中的应用与优化", 《COMPUTER SECURITY》 *
林伟炬等: "一个通用的权限管理模型的设计方案", 《微计算机信息》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017024956A1 (zh) * 2015-08-10 2017-02-16 阿里巴巴集团控股有限公司 数据库的访问权限处理方法、装置及系统
CN105912949A (zh) * 2016-04-13 2016-08-31 北京京东尚科信息技术有限公司 数据权限管理方法、数据权限管理系统以及业务管理系统
CN105912949B (zh) * 2016-04-13 2019-11-05 北京京东尚科信息技术有限公司 数据权限管理方法、数据权限管理系统以及业务管理系统
CN107181761A (zh) * 2017-07-20 2017-09-19 深圳市茁壮网络股份有限公司 一种操作系统登陆及访问权限控制的控制方法及系统
CN109492376A (zh) * 2018-11-07 2019-03-19 浙江齐治科技股份有限公司 设备访问权限的控制方法、装置及堡垒机
CN109684793A (zh) * 2018-12-29 2019-04-26 北京神舟航天软件技术有限公司 一种基于权限域结构树进行数据权限管理的方法
CN112597510A (zh) * 2020-12-16 2021-04-02 中国工商银行股份有限公司 访问控制方法及装置
CN112597510B (zh) * 2020-12-16 2024-01-30 中国工商银行股份有限公司 访问控制方法及装置
CN114428802A (zh) * 2022-04-01 2022-05-03 北京锐融天下科技股份有限公司 基于用户权限的数据过滤方法及系统

Also Published As

Publication number Publication date
CN104156640B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
CN104156640A (zh) 一种数据访问权限控制方法
CN102165447B (zh) 用于管理对于实体的组织信息的访问的技术
KR102157925B1 (ko) 데이터 질의 방법 및 장치
CN105260403B (zh) 通用跨数据库访问方法
Cheng et al. GLADE: big data analytics made easy
US20070192374A1 (en) Virtual repository management to provide functionality
US9201700B2 (en) Provisioning computer resources on a network
US20190095500A1 (en) Statistical processing of natural language queries of data sets
CN103473332A (zh) 一种虚拟试验体系结构的数据档案库
CN110334545B (zh) 一种基于sql的权限控制方法、装置和电子设备
Calvanese et al. A ‘historical case’of ontology-based data access
CN106599241A (zh) 一种gis软件中针对大数据的可视化管理方法
CN110928963B (zh) 针对运维业务数据表的列级权限知识图谱构建方法
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
CN105447616A (zh) 基于多维分类和全文检索的知识管理系统
US20150100888A1 (en) Providing a common interface for accessing and presenting component configuration settings
CN113986545A (zh) 用户与角色关联方法及装置
CN103500315A (zh) 一种信息资源合理分类和使用权限分配系统
US7987210B1 (en) System for lightweight objects
Li et al. Fedsa: A data federation platform for law enforcement management
CN103092841A (zh) 一种数据处理方法及装置
US10621198B1 (en) System and method for secure database replication
CN109739874A (zh) 提供数据内容的方法、装置、计算机设备及存储介质
CN104750709A (zh) 一种语义检索方法及系统
CN103309983B (zh) 基于嵌入式数据库SQLite的电力防误系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant