一种控制数据访问权限的方法和系统的制作方法

文档序号:6339604阅读:695来源:国知局
专利名称:一种控制数据访问权限的方法和系统的制作方法
技术领域
本发明涉及数据库管理技术,更具体的说是涉及一种控制数据访问权限的方法和 系统。
背景技术
随着信息技术和网络技术的发展,信息安全成为人们普遍关注的问题。任何企、事 业单位都不希望自己存放在信息网站的数据资源等信息被自己的竞争对手看到,也不希望 企业内部用户对网站信息的越权访问或随意更改数据库中的数据资源。因此几乎每个企业 都得会对其系统中的数据资源设置权限管理。所谓权限管理,是指根据系统设置的安全规 则或者安全策略,用户可以访问而且只能访问自己被授权的资源。现有的对数据资源的权限控制可以控制到字段级,即能控制某一字段的隐藏或可 见。以某公司的职工表为例,可以设置职工表中的“职称”隐藏或可见,并对用户进行授权 操作,当设置某用户具有访问“职称”字段的权限时,该用户便可看到职工表中,每个职工的 职称情况;但对于未被授权的用户来说,则在访问该职工表时,就不能看到任何职工的职称 情况。但在系统应用中,经常会需要对数据资源进行更细粒度的权限控制,现有的字段 级权限的控制不能满足要求。仍以上面的职工表为例,可能需要设置某些用户虽然具有访 问“职称”字段的权限,但只具有访问“职称”中为“教授”的职工的相关信息的权限,通过这 种字段级权限控制不能实现这种权限设置。现有的字段级权限控制方法不能实现更细粒度 的权限控制。

发明内容
有鉴于此,本发明提供一种控制数据访问权限的方法和系统,通过本发明的方法 可以实现更细粒度的权限控制。为实现上述目的,本发明提供如下技术方案—种控制数据访问权限的方法,包括预先针对数据库表建立数据资源类型表,在所述数据资源类型表中设置指定字段 的过滤条件;根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据记录,建立所述 数据记录与用户之间的关联关系,并将所述关联关系保存到用户的访问权限表;接收用户对所述数据表的访问请求,查询该用户的访问权限表,并根据所述关联 关系,获取该用户具有的访问权限;根据所述访问权限,对所述数据库表进行过滤,为该用户展现指定字段下符合过 滤条件的记录。优选的,所述在所述数据资源表设置指定字段的过滤条件包括根据所述数据库表中指定字段具有的数据资源类型,设定过滤所述字段中指定的数据资源类型的条件。优选的,所述在所述数据资源类型表中设置指定字段的过滤条件包括在数据资源类型表中设置多个字段的过滤条件;和/或,设置同一指定字段的多个过滤条件。优选的,所述建立所述数据记录与用户之间的关联关系包括将所述筛选出符合条件的记录添加到用户权限表中,以建立该用户与所述数据记 录之间的关联关系。优选的,所述建立所述数据记录与用户之间的关联关系包括建立所述筛选出的所有数据记录与用户之间的关联关系;或建立所述筛选出的数据记录中的部分数据记录与用户之间的关联关系。一种控制数据访问权限的系统,包括类型表建立单元,用于针对数据库表建立数据资源类型表,在所述数据资源表中 设置指定字段的过滤条件;权限管理单元,用于根据所述数据资源类型表,筛选出符合所述字段过滤条件的 数据记录,建立所述数据记录与用户之间的关联关系,并将所述关联关系保存到用户的访 问权限表;权限判断单元,用于接收用户对所述数据表的访问请求,查询该用户的访问权限 表,并根据访问权限表中的关联关系,获取该用户具有的访问权限;数据展现单元,用于根据所述访问权限,对所述数据库表进行过滤,为该用户展现 指定字段下符合过滤条件的记录。优选的,所述类型表建立单元通过以下方式设置过滤条件根据所述数据库表中指定字段具有的数据资源类型,设置过滤所述字段中指定的 数据资源类型的条件。优选的,所述类型表建立单元包括条件设定单元,用于在数据资源类型表中设定多个字段的过滤条件;和/或,设定同一指定字段的多个过滤条件。优选的,所述权限管理单元通过以下方式设置权限根据所述数据资源类型表,筛选出符合条件的数据记录,将所述数据记录添加到 用户权限表中,以建立该用户与所述数据记录之间的关联关系。优选的,所述权限管理单元包括第一权限管理单元,用于建立所述筛选出的所有数据记录与用户之间的关联关 系;第二权限管理单元,用于建立所述筛选出的数据记录中的部分数据记录与用户之 间的关联关系。经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种控制数据访 问权限的方法和系统,通过预先针对某数据库表建立数据资源类型表,在所述数据资源表 中设置指定字段的过滤条件,并建立符合所述字段过滤条件的数据记录与用户之间的关联 关系,当用户访问该数据表时,根据所述关联关系,获取该用户具有的访问权限,对所述数 据库表进行过滤,为该用户展现指定字段下符合过滤条件的记录,从而实现比字段级权限控制更细粒度的权限控制。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。图1为本发明一种控制数据访问权限的方法实施例的流程图;图2为本发明一种控制数据访问权限的系统实施例的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。参见图1,为本发明的方法实施例的流程图,该方法包括步骤SlOl 预先针对数据库表建立数据资源类型表,在所述数据资源类型表中设 置指定字段的过滤条件;其中,建立的数据资源类型表中包含数据库表的来源,以标明该指定数据库表位 置,还可以包括对该指定的数据库表的描述信息等。当需要对指定的数据库表的字段进行 更细粒度的权限设置时,就可以在资源类型表中填写该数据库表的来源,以实现对该数据 库表中的字段进行更细粒度的过滤;针对该指定数据库表中的字段,可以进行相应的权限设置,可以设定该字段的过 滤条件,以得到该字段下符合条件的记录。具体对所述数据资源表设置指定字段的过滤条 件可以为根据所述数据库表中指定字段具有的数据资源类型,设定过滤所述字段中指定 的数据资源类型的条件。其中,字段的数据资源类型是指同一字段下区别不同记录的特征信息。例如,以单 位职工表为例,职工表中的“职工职位”字段可能包括车间主任,部门经理、操作工等信息, 这些不同的信息就属于不同的数据资源类型。当需要设定具有访问“职工职位”中“操作工” 的数据记录的权限时,就可以对该设定过滤条件为“职工职位”中为“操作工”的数据资源 类型。其中,可以分别设置对多个字段进行数据资源类型的过滤条件。同时,对于该数据 库表中的一个字段也可以设定多个过滤条件。例如,仍以上述职工表为例,可以在对“职工 职位”的设定过滤条件的同时,对职工表中的“职工工龄”设定过滤条件。另外,对于“职工 职位”的字段可以在设定对“操作工”的数据资源类型进行过滤的同时,设定对“车间主任” 的数据资源类型的过滤条件。本发明中还可以自定义字段的数据资源类型,然后对该字段的数据资源类型进行 过滤。也可以根据需要对字段设定其他形式的过滤条件。步骤S102 根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据记录,建立所述数据记录与用户之间的关联关系,并将所述关联关系保存到用户的访问权限 表;当针对数据库表建立好数据资源类型表后,就可以进行设定用户访问权限的操 作。当需要对用户进行访问权限授权时,通过修改用户的访问权限表,来为用户添加或删除 某项访问权限。在进行用户权限授权的操作时,通过查询所述资源类型表,筛选出符合所述字段 过滤条件的数据记录,并建立用户与该数据记录之间的关联关系,使得用户具有访问该字 段下符合过滤条件的数据记录的权限。例如,当对上述职工表建立资源类型表,并在资源 类型表中的“职称”设定过滤条件为当“职称”字段中为“部门主任”的记录进行筛选。当 为用户进行权限授权操作时,根据该资源类型表,筛选出职工表中“职称”字段中为“部门 主任”的记录,并建立筛选出的记录与用户之间的关联关系,则该用户就具有访问职工表中 “职称”字段中为“部门主任”的记录的权限,而没有建立该关联关系的用户则不具有访问 “部门主任”的相关记录的权限。其中,建立所述数据记录与用户之间的关联关系可以为将所述筛选符合条件的 记录,添加到用户权限表中,以建立该用户与所述数据记录之间的关联关系。进一步的,就建立所述数据记录与用户之间的关联关系可以为建立所述筛选出 的所有数据记录与用户之间的关联关系;或,建立所述筛选出的数据记录中的部分数据记 录与用户之间的关联关系。当符合该字段中符合过滤条件的记录中也可以根据需要选择部分记录,对用户进 行授权。进行用户授权时,对不同用户授予的权限范围可以不同。步骤S103 接收用户对所述数据表的访问请求,查询该用户的访问权限表,并根 据所述关联关系,获取该用户具有的访问权限;当用户访问所述数据表库时,首先查询该用户的访问权限表,根据访问权限表中 的关联关系,确定该用户具有的访问权限。步骤S104 根据所述访问权限,对所述数据库表进行过滤,为该用户展现指定字 段下符合过滤条件的记录。获取该用户的访问权限后,可以依据该权限,对用户需要访问的数据库表进行过 滤,过滤出指定字段中符合过滤条件,同时满足该用户权限的数据记录展现给该用户,以便 用户进行数据访问。本发明的方法通过预先针对某数据库表建立数据资源类型表,在所述数据资源表 中设置指定字段的过滤条件,并建立符合所述字段过滤条件的数据记录与用户之间的关联 关系,当用户访问该数据表时,根据所述关联关系,获取该用户具有的访问权限,对所述数 据库表进行过滤,为该用户展现符合指定字段下符合过滤条件的记录。从而能实现字段级 权限控制不能控制的更细粒度的权限访问。对应本发明的方法,本发明还提供了一种控制数据访问权限的系统,参见图2,该 系统包括类型表建立单元201,用于针对某数据库表建立数据资源类型表,在所述数据资源 表中设置指定字段的过滤条件;权限管理单元202,用于根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据记录,建立所述数据记录与用户之间的关联关系,并将所述关联关系保存到用户的 访问权限表;权限判断单元203,用于接收用户对所述数据表的访问请求,查询该用户的访问权 限表,并根据访问权限表中的关联关系,获取该用户具有的访问权限;数据展现单元204,用于根据所述访问权限,对所述数据库表进行过滤,为该用户 展现指定字段下符合过滤条件的记录。其中过滤条件可以有多种,可以根据字段具有的数据资源类型设定过滤条件,对 应的,类型表建立单元可以通过以下方式设置过滤条件根据所述数据库表中指定字段具 有的数据资源类型,设置过滤所述字段中指定的数据资源类型的条件。进一步的,设定的过滤条件也可以有多个,可以根据需要选择设定的方式。因此, 类型表建立单元包括条件设定单元,用于在数据资源类型表中设定多个字段的过滤条件;和/或,设定 同一指定字段的多个过滤条件。对用户权限进行管理时,授予用户访问权限的方式有很多,优选的,所述权限管理 单元通过以下方式设置权限根据所述数据资源类型表,筛选出符合条件的数据记录,将所 述数据记录添加到用户权限表中,以建立该用户与所述数据记录之间的关联关系。当然,对于授予用户的权限大小可以不同,优选的,所述权限管理单元包括第一权限管理单元,用于建立所述筛选出的所有数据记录与用户之间的关联关 系;第二权限管理单元,用于建立所述筛选出的数据记录中的部分数据记录与用户之 间的关联关系。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
1.一种控制数据访问权限的方法,其特征在于,包括预先针对数据库表建立数据资源类型表,在所述数据资源类型表中设置指定字段的过 滤条件;根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据记录,建立所述数据 记录与用户之间的关联关系,并将所述关联关系保存到用户的访问权限表;接收用户对所述数据表的访问请求,查询该用户的访问权限表,并根据所述关联关系, 获取该用户具有的访问权限;根据所述访问权限,对所述数据库表进行过滤,为该用户展现指定字段下符合过滤条 件的记录。
2.根据权利要求1所述的方法,其特征在于,所述在所述数据资源表设置指定字段的 过滤条件包括根据所述数据库表中指定字段具有的数据资源类型,设定过滤所述字段中指定的数据 资源类型的条件。
3.根据权利要求1所述的方法,其特征在于,所述在所述数据资源类型表中设置指定 字段的过滤条件包括在数据资源类型表中设置多个字段的过滤条件;和/或,设置同一指定字段的多个过滤条件。
4.根据权利要求1所述的方法,其特征在于,所述建立所述数据记录与用户之间的关 联关系包括将所述筛选出符合条件的记录添加到用户权限表中,以建立该用户与所述数据记录之 间的关联关系。
5.根据权利要求1所述的方法,其特征在于,所述建立所述数据记录与用户之间的关 联关系包括建立所述筛选出的所有数据记录与用户之间的关联关系;或建立所述筛选出的数据记录中的部分数据记录与用户之间的关联关系。
6.一种控制数据访问权限的系统,其特征在于,包括类型表建立单元,用于针对数据库表建立数据资源类型表,在所述数据资源表中设置 指定字段的过滤条件;权限管理单元,用于根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据 记录,建立所述数据记录与用户之间的关联关系,并将所述关联关系保存到用户的访问权 限表;权限判断单元,用于接收用户对所述数据表的访问请求,查询该用户的访问权限表,并 根据访问权限表中的关联关系,获取该用户具有的访问权限;数据展现单元,用于根据所述访问权限,对所述数据库表进行过滤,为该用户展现指定 字段下符合过滤条件的记录。
7.根据权利要求6所述的系统,其特征在于,所述类型表建立单元通过以下方式设置 过滤条件根据所述数据库表中指定字段具有的数据资源类型,设置过滤所述字段中指定的数据 资源类型的条件。
8.根据权利要求6所述的系统,其特征在于,所述类型表建立单元包括 条件设定单元,用于在数据资源类型表中设定多个字段的过滤条件;和/或,设定同一指定字段的多个过滤条件。
9.根据权利要求6所述的系统,其特征在于,所述权限管理单元通过以下方式设置权限根据所述数据资源类型表,筛选出符合条件的数据记录,将所述数据记录添加到用户 权限表中,以建立该用户与所述数据记录之间的关联关系。
10.根据权利要求6所述的系统,其特征在于,所述权限管理单元包括第一权限管理单元,用于建立所述筛选出的所有数据记录与用户之间的关联关系; 第二权限管理单元,用于建立所述筛选出的数据记录中的部分数据记录与用户之间的 关联关系。
全文摘要
本发明公开一种控制数据访问权限的方法和系统,该方法包括预先针对数据库表建立数据资源类型表,在所述数据资源表中设置指定字段的过滤条件;根据所述数据资源类型表,筛选出符合所述字段过滤条件的数据记录,建立所述数据记录与用户之间的关联关系,并将所述关联关系保存到用户的访问权限表;接收用户对所述数据表的访问请求,查询该用户的访问权限表,并根据所述关联关系,获取该用户具有的访问权限;根据所述访问权限,对所述数据库表进行过滤,为该用户展现指定字段下符合过滤条件的记录。通过本发明能实现比字段级权限更细粒度的访问权限控制。
文档编号G06F21/00GK102063479SQ20101060134
公开日2011年5月18日 申请日期2010年12月22日 优先权日2010年12月22日
发明者张敏杰, 李莹, 罗华永 申请人:北京中电普华信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1