CN101944127A - 数据权限控制方法和装置 - Google Patents
数据权限控制方法和装置 Download PDFInfo
- Publication number
- CN101944127A CN101944127A CN201010292019XA CN201010292019A CN101944127A CN 101944127 A CN101944127 A CN 101944127A CN 201010292019X A CN201010292019X A CN 201010292019XA CN 201010292019 A CN201010292019 A CN 201010292019A CN 101944127 A CN101944127 A CN 101944127A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- regular
- entity
- detailed
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据权限控制方法,包括:步骤102,为指定实体设置规则,并将所述规则持久化;步骤104,根据所述规则,取得所述指定实体的符合规则数据并持久化;步骤106,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。本发明还提供了一种数据权限控制装置。通过本发明的技术方案,可以实现一种数据权限控制方法和装置,能够使用户在进行基于数据权限判断的查询时,提高用户的查询效率,同时简化用户的操作。
Description
技术领域
本发明涉及权限管理,具体而言,涉及一种数据权限控制方法和装置。
背景技术
在各类信息系统、互联网应用的实现中,权限管理已经成为系统的基本核心组成部分,尤其在集团型企业应用中,由于企业的组织模型的复杂程度大大增强,要求系统的权限模型具备良好的可用性以及伸缩性。因此,一个好的权限管理模型通常要求具备如下特征:
1.功能权限。
2.数据权限。
3.特殊权限。
而在实现上,通常基于成熟的基于角色的访问控制(RBAC)模型来实现功能权限。通过对于特殊业务逻辑关系的提取,定义通用的业务规则来实现特殊权限,例如拥有者权限、领导权限等。
而数据权限通常包括以下几个方面:
1.实体级别数据权限。
2.实体属性级别数据权限。
3.数据权限的应用范围。通常基于RBAC模型定义的用户、角色以及实体的操作进行逐级绑定分配。
而在数据权限的实现上,通常采用如下方式:
1.基于实体方法进行实体数据的权限控制判断。
2.基于组合条件SQL的方式进行权限控制判断。
通过以上方式进行数据权限的实现,存在以下不足:
一、基于实体方法进行实例的权限控制判断,适用于属性级别数据权限,存在对于实体级别数据权限存在查询时无法判断,数据批量处理、分页时无法处理等弊端。
二、基于组合条件SQL的方式进行权限控制判断,能够较好的处理数据批量数据处理以及分页等处理的弊端,但是在进行SQL组合以及执行时,在系统数据实体关系复杂,并且数据量较大的情况下,性能较差,处理时间往往会超过20分钟。
因此,需求一种针对数据权限的权限控制判断的方式,能够使用户在进行基于数据权限判断的查询时,提高用户的查询效率,同时简化用户的操作。
发明内容
本发明所要解决的技术问题在于,提供一种针对数据权限的权限控制判断的方式,能够使用户在进行基于数据权限判断的查询时,提高用户的查询效率,同时简化用户的操作。
有鉴于此,本发明提供一种数据权限控制方法,包括:步骤102,为指定实体设置规则,并将所述规则持久化;步骤104,根据所述规则,取得所述指定实体的符合规则数据并持久化;步骤106,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。通过该技术方案,可以将符合权限规则的数据预先持久化,用户在符合规则数据中查询自己所需数据即可,提高了效率。
在上述技术方案中,优选地,在所述步骤102中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
在上述技术方案中,优选地,所述规则明细的类型包括:普通属性、参照关联属性、用户及系统上下文属性;在所述步骤102中,为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;在所述步骤104中,取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;在所述步骤106中,所述用户根据所述规则的SQL脚本对所述规则数据进行查询。通过该技术方案,使得可以根据不同情况灵活地配置规则,使生成的符合规则数据更适合业务需要。
在上述技术方案中,优选地,增加或修改实体的数据时,取得所述实体的符合规则数据并持久化;删除所述实体的数据时,删除所述实体的已持久化的符合规则数据。
在上述技术方案中,优选地,在所述实体的参照关联属性规则明细的关联实体进行增加、修改或删除数据时,重新取得所述实体的符合规则数据并持久化。
本发明还提供一种数据权限控制装置,包括:规则设置模块,为指定实体设置规则,并将所述规则持久化;符合规则数据模块,根据所述规则,取得所述指定实体的符合规则数据并持久化;数据查询模块,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。通过该技术方案,可以将符合权限规则的数据预先持久化,用户在符合规则数据中查询自己所需数据即可,提高了效率。
在上述技术方案中,优选地,所述规则设置模块中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
在上述技术方案中,优选地,所述规则明细的类型包括普通属性、参照关联属性、用户及系统上下文属性;所述规则设置模块为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;所述符合规则数据模块取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;所述数据查询模块供所述用户根据所述规则的SQL脚本对所述规则数据进行查询。通过该技术方案,使得可以根据不同情况灵活地配置规则,使生成的符合规则数据更适合业务需要。
在上述技术方案中,优选地,还包括:数据维护模块,在增加或修改实体的数据时,通知所述符合规则数据模块取得所述实体的符合规则数据并持久化;在删除所述实体的数据时,通知所述符合规则数据模块删除所述实体的已持久化的符合规则数据。
在上述技术方案中,优选地,还包括:关联数据维护模块,在所述实体的参照关联属性规则明细的关联实体进行增加、修改或删除数据时,通知所述符合规则数据模块重新取得所述实体的符合规则数据并持久化。
通过上述技术方案,可以实现一种数据权限控制方法和装置,能够使用户在进行基于数据权限判断的查询时,提高用户的查询效率,同时简化用户的操作。
附图说明
图1是根据本发明的一个实施例的数据权限控制方法的流程图;
图2是根据本发明的一个实施例的数据权限控制装置的框图;
图3是根据本发明的一个实施例的数据权限控制装置的整体结构的示意图;
图4是根据本发明的一个实施例的数据权限控制方法的规则设置的流程示意图;
图5是根据本发明的一个实施例的数据权限控制方法的规则、规则明细和符合规则数据的关系示意图;
图6是根据本发明的一个实施例的数据权限控制装置的规则、规则明细和符合规则数据的详细关系示意图;
图7是根据本发明的一个实施例的数据权限控制方法的用于处理的业务实体的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1是根据本发明的一个实施例的数据权限控制方法的流程图。
如图1所示,本发明提供一种数据权限控制方法,包括:步骤102,为指定实体设置规则,并将所述规则持久化;步骤104,根据所述规则,取得所述指定实体的符合规则数据并持久化;步骤106,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。通过该技术方案,可以将符合权限规则的数据预先持久化,用户在符合规则数据中查询自己所需数据即可,提高了效率。
在上述技术方案中,在所述步骤102中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
在上述技术方案中,所述规则明细的类型包括:普通属性、参照关联属性、用户及系统上下文属性;在所述步骤102中,为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;在所述步骤104中,取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;在所述步骤106中,所述用户根据所述规则的SQL脚本对所述规则数据进行查询。通过该技术方案,使得可以根据不同情况灵活地配置规则,使生成的符合规则数据更适合业务需要。
在上述技术方案中,增加或修改实体的数据时,取得所述实体的符合规则数据并持久化;删除所述实体的数据时,删除所述实体的已持久化的符合规则数据。
在上述技术方案中,在所述实体的参照关联属性规则明细的关联实体进行增加、修改或删除数据时,重新取得所述实体的符合规则数据并持久化。
图2是根据本发明的一个实施例的数据权限控制装置的框图。
如图2所示,本发明还提供一种数据权限控制装置200,包括:规则设置模块202,为指定实体设置规则,并将所述规则持久化;符合规则数据模块204,根据所述规则,取得所述指定实体的符合规则数据并持久化;数据查询模块206,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。通过该技术方案,可以将符合权限规则的数据预先持久化,用户在符合规则数据中查询自己所需数据即可,提高了效率。
在上述技术方案中,所述规则设置模块202中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
在上述技术方案中,所述规则明细的类型包括普通属性、参照关联属性、用户及系统上下文属性;所述规则设置模块202为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;所述符合规则数据模块204取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;所述数据查询模块206供所述用户根据所述规则的SQL脚本对所述规则数据进行查询。通过该技术方案,使得可以根据不同情况灵活地配置规则,使生成的符合规则数据更适合业务需要。
在上述技术方案中,还包括:数据维护模块,在增加或修改实体的数据时,通知所述符合规则数据模块204取得所述实体的符合规则数据并持久化;在删除所述实体的数据时,通知所述符合规则数据模块204删除所述实体的已持久化的符合规则数据。
在上述技术方案中,还包括:关联数据维护模块,在所述实体的参照关联属性规则明细的关联实体进行增加、修改或删除数据时,通知所述符合规则数据模块204重新取得所述实体的符合规则数据并持久化。
图3是根据本发明的一个实施例的数据权限控制装置的整体结构的示意图。
如图3所示,规则设置模块202用于,设置规则,通过选择要启用数据权限的实体及设置规则相关的明细条件。在设置数据完成后,要根据规则检测并持久化符合规则数据。
数据维护模块208用于维护数据,增删改已启用数据权限实体的数据时,执行更新符合规则数据。保证符合规则数据中时刻保持准确的数据。
关联数据维护模块210,如果规则设置中有关联其他实体属性,则进行关联实体的数据维护时,需要同步更新符合规则数据。
数据查询模块206,在进行查询数据时,首先查询出可以应用的规则,然后依据前期维护的符合规则数据,以及规则SQL脚本,查询规则数据及符合规则数据。
符合规则数据模块204,在整个流程中,规则数据,业务数据、以及业务数据符合规则的数据关联都进行数据持久化,以保证查询优化。
图4是根据本发明的一个实施例的数据权限控制方法的规则设置的流程示意图。
如图4所示,步骤402,首先选择规则作用实体。规则作用实体指的是应用数据权限规则的实体。在同一个实体上可以绑定多个规则,规则关系可以为“或”或者“与”的关系,并且对于不同的场景可以启用不同的规则组合。例如:采购订单实体。
步骤404,其次选择实体属性增加规则条目。本步中,选择第一步选择的实体,然后选择某个属性,用以针对这个属性设置规则条目即明细。例如采购订单的采购订单总金额属性。
步骤406,设置规则条目属性。本步完成规则条目即明细的标识其特征的属性设置。
步骤408,确定是否继续添加规则条目。在每个规则中可以包含多个规则明细。本步骤中可进行多次添加。
步骤410,保存规则数据。本步负责将规则数据进行持久化本步负责将规则数据进行持久化。
步骤412,计算符合规则数据并持久化。根据上一步持久化的数据中的检测规则,检测是否有数据符合规则,如果符合规则则持久化保存。例如采购订单上定义了一个数据权限规则“规则1”,规则1保存后,立刻依据规则1的检测规则,检测现有的所有采购订单是否有符合规则的数据,如果有,则将符合规则的数据标识持久化。
图5是根据本发明的一个实施例的数据权限控制方法的规则、规则明细和符合规则数据的关系示意图。图6是根据本发明的一个实施例的数据权限控制装置的规则、规则明细和符合规则数据的详细关系示意图
根据本实施例中的数据权限控制方法,解决性能问题的关键在于规则策略以及对于符合数据权限规则的数据的检测判断并持久化处理,和依据此持久化数据进行的SQL检索过程。
在实施例中,数据权限的规则策略为依据规则的特征将规则明细分为三种类型,并且对每种类型的规则明细的持久化以及检索处理进行不同的优化处理,从而达到优化性能的效果。规则明细类型定义如下表所示:
如图5所示,是一个标准数据权限规则持久化结构以及符合数据权限的数据持久化结构的例子,其中包括:
1.规则,包括以下几部分属性:
a)规则描述属性部分:描述规则自身属性,例如规则名称、规则编码、规则类型等等。
b)规则脚本属性部分:用于描述规则定义自身的脚本,以便于编辑及存储、解释,可以采购各种模式去实现XML,文本等等,其可能是所有规则明细脚本的组合。
c)预生成规则检测脚本及SQL等属性部分:规则检测脚本用来实时检测数据是否符合此规则,用以进行判断是使用。SQL脚本用于典型的查询、检索处理。其可能是规则明细检测脚本以及SQL脚本的逻辑组合。
d)其他属性:本部分为其他扩展标识属性。
2.规则明细:规则明细的定义包括的几部分属性,从特征上基本上与规则相同,仅是所有属性仅用于标识规则明细本身。
3.符合规则数据:符合规则数据是指,应用规则后,有哪些数据符合此规则的持久化。通常常规的做法是此部分数据是在查询时动态判断出来。本发明中,将此类数据的关系进行持久化,保证查询的优化效率。
如图6所示,是一个标准数据权限规则持久化结构以及符合数据权限的数据持久化结构的具体例子。
结合图5和图6的数据权限控制方法,可以了解,对数据权限规则的持久化关键在于依据数据权限规则明细的类型构建预生成的规则检测脚本以及SQL和预生成的规则明细检测脚本以及SQL,其生成的处理规则如下:
1)规则明细的检测脚本以及SQL生成规则:
a)如果规则明细类型为(1)普通属性:直接生成符合条件的SOL。
b)如果规则明细类型为(2)参照关联属性:生成查询关联属性SQL。并生成检测脚本。
c)如果规则明细类型为(3)用户及系统上下文属性:生成格式化SQL。
2)规则的检测脚本以及SQL生成规则:
a)SQL生成规则:组合生成规则明细中类型为(1)普通属性及(3)用户及系统上下文属性类型的明细的SQL。
b)检测脚本生成规则:组合生成规则明细中类型为(2)参照关联属性的检测脚本或为统一检测脚本。
根据本实施例的数据权限控制方法,对符合数据权限的数据进行持久化处理如下:
1)在进行规则作用实体的数据增加,修改时,依据规则的检测脚本,检测增加或修改的数据是否符合规则。如果最终结果返回为true,则将规则唯一标识以及数据唯一标识信息持久化到符合规则数据中,标识此条数据符合规则;如果返回结果为false,则不做任何处理。
2)在进行规则作用实体的数据删除时,则根据数据唯一标识删除符合规则数据记录。
3)在(2)参照关联属性关联的实体进行数据增加、修改、删除时,执行检测脚本,进行符合规则数据记录更新。
根据本实施例的数据权限控制方法,数据权限的验证过程,以根据规则拼合整理SQL条件,进行数据验证或过滤。(1)首先以及用户及系统上下文对规则首先依据用户及系统上下文对规则SQL进行格式化,生成标准可执行SQL片段。(2)然后将处理后的SQL拼接到相关查询或维护操作的SQL片段中进行执行。
根据本实施例的数据权限控制方法,基于一个实施例对于数据权限规则的分配处理,不做任何限定,可以以任何方式进行分配,例如将权限规则分配给指定的人员、角色、组织、或实体操作。然后能够根据分配关系重新检索出权限规则设置即可。
图7是根据本发明的一个实施例的数据权限控制方法的用于处理的业务实体的示意图。
如图7所示,系统中存在以下业务实体实体:采购订单、产品、产品分类。
其中各实体数据记录如下:
采购订单:
采购订单唯一标识 | 采购人员 | 部门 | 采购总金额 | 供应商 |
001 | 张三 | 采购一部 | 100000 | 供应商甲 |
002 | 张三 | 采购一部 | 5000 | 供应商乙 |
003 | 李四 | 采购二部 | 2000000 | 供应商丙 |
004 | 李四 | 采购二部 | 100000 | 供应商丁 |
采购明细:
产品:
产品类别:
产品类别唯一标识 | 产品类别名称 | 产品类别编码 | 产品上级类别唯一标识 |
CPLB001 | 电子产品 | LB1 | |
CPLB002 | 家电产品 | LB1002 | CPLB001 |
假设基于以上基础数据,设置数据权限规则描述如下:“采购总金额”小于100000金额并且包含“产品类别名称为家电产品”的分类下的产品的订单。则以图四所示的实施例的示例持久化的数据如下:
规则:
其中关键的生成脚本示例如下:
SQL脚本:采购订单.采购总金额>=100000and采购订单.采购订单唯一标识=符合规则数据.数据ID and符合规则数据.数据ID.规则ID=’GZ001’
数据检测脚本:采购订单.采购订单唯一标识=’{0}’and exists(select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=’{0}’and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
数据批量检测脚本:exists(select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=采购订单.采购订单唯一标识and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
规则明细:
其中关键的生成脚本示例如下:
GZMX001明细SQL脚本:采购订单.采购总金额>=100000
GZMX002明细SQL脚本:采购订单.采购订单唯一标识=符合规则数据.数据ID and符合规则数据.数据ID.规则ID=’GZ001’
GZMX002明细数据检测脚本:采购订单.采购订单唯一标识=’{0}’and exists (select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=’{0}’and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
数据批量检测脚本:exists(select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=采购订单.采购订单唯一标识and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
那么基于以上的基础数据以及规则设置,假设某个用户或角色在启用了上述数据权限规则,则数据权限的处理过程如下:
在增加新的采购订单数据保存时,首先持久化采购订单数据,然后格式化检测脚本,然后构建查询采购订单的sql脚本并与格式化后的检测脚本拼接构成检测查询SQL,检测出数据符合条件后,将数据保存到到符合规范数据中。详细说明如下:
以持久化后的采购订单唯一标识作为参数格式化数据检测脚本,例如采购订单唯一标识为“004”,则格式化后的检测脚本为:
采购订单.采购订单唯一标识=’004’and exists(select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=’004‘and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
构建查询采购订单sql如下:
Select*from采购订单Where采购订单.采购订单唯一标识=’004‘and exists(select采购明细.采购明细唯一标识from采购明细where采购明细.采购订单唯一标识=’004’and采购明细.产品唯一标识in(select产品唯一标识from产品,产品分类where产品.产品类别唯一标识=产品类别.产品类别唯一标识and产品类别.产品类别名称=‘家电产品’))
根据以上过程构建的检测查询SQL,如果查询出结果,则将结果持久化到符合规则数据中。如本例中的数据在插入后,最终实例化的符合规则数据的的数据为:
数据ID | 规则ID | 所属实体 |
004 | GZ001 | 采购订单 |
在查询采购订单数据时,如果启用了GZ001规则,则直接拼接规则的SQL脚本,进行数据过滤查询。例如:
原查询SQL脚本为:select*from采购订单where采购订单.采购人员=’李四’
则拼接后的SQL脚本为:select*from采购订单,符合规则数据where采购订单.采购人员=’李四’and(采购订单.采购总金额>=100000and采购订单.采购订单唯一标识=符合规则数据.数据IDand符合规则数据规则ID=’GZ001’)
在上述例子中,在修改规则定义中关联的关联实体属性,或者进行数据操作后,同样以与以上基本相同的方式进行数据检测并持久化处理,其处理的差异在于:
编辑关联实体属性或数据后,收件判断检测修改数据是否影响相关规则。
如果影响相关规则,则根据相关规则的整体检测脚本,批量检测数据,并批量持久化符合规则数据。
另外,在进行权限规则设置的最初或修改权限规则时,需以总体检测脚本检测数据并持久化符合规范数据。删除权限规则设置时,需删除所有相关符合规则数据。
通过本发明的技术方案,可以实现一种数据权限控制方法和装置,有效的解决了应用数据权限的系统在读取性能问题。在系统中存在大量数据的情况下,通过分散写入的方式,计算并持久化有权限的数据,从而简化查询时的复杂处理过程,从而优化查询处理性能。保证了系统的高可用性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据权限控制方法,其特征在于,包括:
步骤102,为指定实体设置规则,并将所述规则持久化;
步骤104,根据所述规则,取得所述指定实体的符合规则数据并持久化;
步骤106,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。
2.根据权利要求1所述的数据权限控制方法,其特征在于,在所述步骤102中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
3.根据权利要求2所述的数据权限控制方法,其特征在于,所述规则明细的类型包括:普通属性、参照关联属性、用户及系统上下文属性;
在所述步骤102中,为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;
在所述步骤104中,取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;
在所述步骤106中,所述用户根据所述规则的SQL脚本对所述规则数据进行查询。
4.根据权利要求1至3中任一项所述的数据权限控制方法,其特征在于,增加或修改实体的数据时,取得所述实体的符合规则数据并持久化;
删除所述实体的数据时,删除所述实体的已持久化的符合规则数据。
5.根据权利要求4所述的数据权限控制方法,其特征在于,在所述实体的参照关联属性规则明细的关联实体进行数据的增加、修改或删除时,重新取得所述实体的符合规则数据并持久化。
6.一种数据权限控制装置,其特征在于,包括:
规则设置模块,为指定实体设置规则,并将所述规则持久化;
符合规则数据模块,根据所述规则,取得所述指定实体的符合规则数据并持久化;
数据查询模块,在用户查询所述指定实体的数据时,提供所述符合规则数据以供所述用户查询。
7.根据权利要求6所述的数据权限控制装置,其特征在于,所述规则设置模块中,为所述指定实体设置规则明细,根据所有属性的规则明细得到所述规则。
8.根据权利要求7所述的数据权限控制装置,其特征在于,所述规则明细的类型包括普通属性、参照关联属性、用户及系统上下文属性;
所述规则设置模块为普通属性的规则明细生成第一SQL脚本,为参照关联属性的规则明细生成第二SQL脚本和数据检测脚本,为用户及系统上下文属性的规则明细生成第三SQL脚本,根据所有的第一SQL脚本、所有的第二SQL脚本、所有的第三SQL脚本得到所述规则的SQL脚本,根据所有的数据检测脚本得到所述规则的数据检测脚本;
所述符合规则数据模块取得所述指定实体的符合所述规则的数据检测脚本的数据,作为所述符合规则数据;
所述数据查询模块供所述用户根据所述规则的SQL脚本对所述规则数据进行查询。
9.根据权利要求6至8中任一项所述的数据权限控制装置,其特征在于,还包括:
数据维护模块,在增加或修改实体的数据时,通知所述符合规则数据模块取得所述实体的符合规则数据并持久化;
在删除所述实体的数据时,通知所述符合规则数据模块删除所述实体的已持久化的符合规则数据。
10.根据权利要求9所述的数据权限控制装置,其特征在于,还包括:
关联数据维护模块,在所述实体的参照关联属性规则明细的关联实体进行数据增加、修改或删除时,通知所述符合规则数据模块重新取得所述实体的符合规则数据并持久化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010292019XA CN101944127B (zh) | 2010-09-26 | 2010-09-26 | 数据权限控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010292019XA CN101944127B (zh) | 2010-09-26 | 2010-09-26 | 数据权限控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101944127A true CN101944127A (zh) | 2011-01-12 |
CN101944127B CN101944127B (zh) | 2011-12-07 |
Family
ID=43436117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010292019XA Active CN101944127B (zh) | 2010-09-26 | 2010-09-26 | 数据权限控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101944127B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799645A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 安全搜索装置和安全搜索方法 |
CN111414643A (zh) * | 2020-03-17 | 2020-07-14 | 深圳市前海随手财富管理有限公司 | 数据权限控制方法、装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179321A1 (en) * | 2005-02-07 | 2006-08-10 | Nigel Dawson | Method and system of applying user permissions to an application program environment |
CN101145163A (zh) * | 2007-10-30 | 2008-03-19 | 金蝶软件(中国)有限公司 | 从多个数据源获取数据的方法及系统 |
CN101576921A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 数据查询系统和数据查询引擎装置 |
CN101833714A (zh) * | 2010-06-12 | 2010-09-15 | 山东中创软件工程股份有限公司 | 一种审批权限控制方法、装置及系统 |
-
2010
- 2010-09-26 CN CN201010292019XA patent/CN101944127B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179321A1 (en) * | 2005-02-07 | 2006-08-10 | Nigel Dawson | Method and system of applying user permissions to an application program environment |
CN101145163A (zh) * | 2007-10-30 | 2008-03-19 | 金蝶软件(中国)有限公司 | 从多个数据源获取数据的方法及系统 |
CN101576921A (zh) * | 2009-06-15 | 2009-11-11 | 用友软件股份有限公司 | 数据查询系统和数据查询引擎装置 |
CN101833714A (zh) * | 2010-06-12 | 2010-09-15 | 山东中创软件工程股份有限公司 | 一种审批权限控制方法、装置及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799645A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 安全搜索装置和安全搜索方法 |
CN102799645B (zh) * | 2012-06-28 | 2016-05-04 | 用友网络科技股份有限公司 | 安全搜索装置和安全搜索方法 |
CN111414643A (zh) * | 2020-03-17 | 2020-07-14 | 深圳市前海随手财富管理有限公司 | 数据权限控制方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101944127B (zh) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6058391A (en) | Enhanced user view/update capability for managing data from relational tables | |
CN107111722B (zh) | 数据库安全 | |
US20080027902A1 (en) | Method and apparatus for selecting data records from versioned data | |
JPH04289920A (ja) | 技術変更により影響を受けるバージョン化データオブジェクトの制御を実行する方法 | |
JP5452030B2 (ja) | 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体 | |
CN101448002A (zh) | 一种数字资源的访问方法及设备 | |
CN106970958B (zh) | 一种流文件的查询与存储方法和装置 | |
CN109472609A (zh) | 一种风控原因确定方法及装置 | |
CN103577483B (zh) | 数据存储方法和系统以及数据访问的方法和系统 | |
CN107315782A (zh) | 一种数据查询方法及装置 | |
CN107957867A (zh) | 一种电力零售市场模型建模方法及系统 | |
CN107943542A (zh) | 一种配置信息管理方法、装置、可读介质及存储控制器 | |
JP5033322B2 (ja) | 連結関係情報を用いた情報管理方法及び装置 | |
CN104699790A (zh) | 一种银行数据关系建立方法及装置 | |
CN101944127B (zh) | 数据权限控制方法和装置 | |
KR100948751B1 (ko) | 지식 관리 시스템의 동적 지식 분류 방법 | |
CN105122264A (zh) | 用于控制对文件系统访问的系统和方法 | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
JP4070087B2 (ja) | 設備情報管理システム | |
CN107102862A (zh) | 一种数据录入方法及装置 | |
JPH0969112A (ja) | 知的財産情報管理システム | |
KR20190109664A (ko) | 빅 데이터 비식별화 처리 시스템 및 방법 | |
CN116738451A (zh) | 低代码平台的权限控制的方法、平台、设备及存储介质 | |
JPH10301935A (ja) | データ処理方法 | |
KR20160078142A (ko) | 지식체계 관리 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD. Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD. |
|
CP03 | Change of name, title or address |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Patentee after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Patentee before: UFIDA Software Co., Ltd. |