一种基于访问控制列表的权限控制方法

文档序号:6546052阅读:151来源:国知局
专利名称:一种基于访问控制列表的权限控制方法
技术领域
本发明属于计算机应用技术领域,具体地说是一种基于访问控制列表的权限控制方法,用继承性标示以较小存储空间控制用户对计算机资源的操作行为权限。
背景技术
在现有技术中,常用的计算机资源操作权限定义方法是通过访问控制列表(ACL,Access Control List)和访问控制单元(ACE,Access Control Entry)进行权限描述,一个ACL由若干ACE组成。每一条ACE记录了某个用户对于某个资源的操作权限。这样由若干条包含一套标志位的ACE组成的ACL可以完全描述一个系统中的所有权限。
微软公司的视窗(Windows)操作系统即是基于ACL权限定义,该权限系统对计算机文件系统包括文件夹、文件等进行复杂的权限控制,文件夹权限包括完全控制、修改、读取和执行、列出文件夹目录、读取和写入。这些权限中的每一个都由一系列的特殊权限所构成的逻辑组组成,如某个用户可能对某个文件夹拥有读取和修改权限,即构成一个逻辑组。如图1所示,是现有技术中对某个文件系统文件夹设置权限的界面示意图。
另外一种更为复杂的权限设置是Windows提供了一个额外的界面来实现,其中可设置权限即全部的权限包括是否可以继承到子系节点,即为描述权限的继承关系的一个标志,如果标示为是即可以继承,那么其子系节点拥有该节点授予的所有权限,和是否可以从父系继承权限即全部的权限等来实现,也是描述权限继承关系的一个标志,如果标示为否,即不继承,那么当前节点不继承其父系节点的权限。
但是现有技术中的权限定义的灵活程度较差,它的继承和禁止继承,对象都是所有的权限行为,所以无法通过增加一条描述来定义某节点上某个具体的权限动作,用于禁止继承到下层节点而其它动作继承到本节点,这样,如果系统需要定义一个复杂的权限系统,就需要存储多条权限描述,存储空间耗费必然增大数倍。

发明内容
为克服现有技术的不足,本发明的目的在于提供一种基于访问控制列表的权限控制方法,用较少的权限描述存储空间表达权限定义,对用户操作行为进行权限控制。
为实现上述目的,本发明采取的技术方案为一种基于访问控制列表的权限控制方法, 包括以下步骤步骤1、计算机存储器接收用户输入的操作行为指令;步骤2、计算机判断存储器访问控制列表中用户行为指令所指向的某一资源节点有无权限控制,有则根据当前资源节点的权限定义和用户行为指令的优先级禁止用户的行为指令并结束,无则执行用户对当前资源节点的操作指令;步骤3、判断当前节点的上一级节点的权限定义,如果上一级节点禁止当前资源节点继承其权限,则禁止用户对上一级节点的操作行为并结束,否则继续向上判断当前节点上上一级节点的权限定义;步骤4、计算机判断是否到达访问控制列表的根节点,是则结束权限限制,否则重复步骤3。
所述步骤1之前还包括在计算机存储器访问控制列表中构造资源用户权限索引的步骤。
所述资源用户权限索引为一对多关系。
所述步骤1中的用户输入的行为指令包括读取、修改、增加、删除中的一种或几种。
所述步骤2中的访问控制列表为树形数据结构。
所述的基于访问控制列表的权限控制方法,采用继承性标示描述节点之间的关系,以判断节点的权限。
所述的继承性标示内容,包括下述之一或者组合禁止节点从其上一级节点继承任何权限;禁止节点的下一级节点从其继承任何权限;权限约束只对节点下一级节点有效,对本节点无效;权限约束只对目录型的下一级节点有效;权限约束只对非目录型的下一级节点有效;不从本节点上一级节点继承任何权限;不允许被其后续版本继承。
本发明具有明显的优点和积极效果。通过本发明的权限描述方式,可以将基于树形的系统资源的各个节点权限描述大到任意的复杂程度,满足复杂权限控制的需要;同时,本发明对需要进行权限控制的用户行为的描述可以达到任意的复杂程度,但对存储空间的占用增加很少,本发明提供了一个通用的权限控制方法,达到了使用较小存储空间完成权限控制的任务,在对一个树形结构节点进行权限控制时存储空间开销就比较小,对各个树形节点进行复杂的权限控制就变得比较可行。


图1为现有技术中文件系统设置权限的界面示意图;图2为本发明的主流程图;图3为本发明权限计算方向示意图。
具体实施例方式
下面结合说明书附图来说明本发明的具体实施方式

请参阅图2本发明的主流程图。首先,本发明在计算机存储器中建立访问控制列表,并在访问控制列表中构造资源用户权限索引。
本发明对权限定义进行描述的访问控制列表(ACL)中保存着与计算机系统资源相关的所有访问控制单元(ACE),访问控制单元按照用户的操作行为来进行索引,每个用户在访问控制单元中拥有不多于一条纪录。本发明按照资源用户一对多的方式来进行权限控制。
访问控制单元的结构定义包括用户对访问控制列表中系统资源拥有的某种权限、权限优先级、主体的权限继承性标示位、资源的权限继承性标示位定义和允许的行为、禁止的行为定义以及对于系统资源的各项属性的不同权限、对于系统资源的各种不同类型子节点的不同权限的定义。
在访问控制列表和用户权限定义完成后,访问控制列表成树形数据结构。然后,计算机存储器接收用户输入的操作行为指令,并调用存储器中访问控制列表指向的资源节点。用户行为包括允许的行为和禁止的行为,这些行为有读取、修改、增加、删除, 也可以更多。
之后,计算机判断存储器访问控制列表中用户行为所指向的某一资源节点有无权限控制,无则执行用户对当前资源节点的操作指令并结束,有则根据当前资源节点的权限定义和用户行为的优先级禁止用户的行为。
然后,判断当前节点的上一级节点的权限定义。本发明引入继承性标示描述当前资源节点与其上一级节点之间的关系,继承性标示包括禁止系统资源节点从其上一级节点继承任何权限和通常与其标示组合使用的禁止系统资源的下一级节点从自己身上继承任何权限标示,如标示可以设为1、2,如果描述的权限约束只对系统资源的下一级节点有效,对自己无效,标示位可设为(1<<2)。如果继承性标示只对目录型的下一级节点有效,则标示位设为(1<<3), 只对非目录型的下一级节点有效,则设为(1<<4), 不从自己的上一级节点那里继承任何权限设为(1<<5)。宿主资源的权限不允许被其后续版本继承,则设置为(1<<6)等。实际上本发明可以增加任意复杂的标示来构建任意复杂的权限标示。
在允许和禁止的行为中增加任意复杂的行为标示来满足任意复杂的权限行为定义,定义的行为标示如下读取为1、修改为1<<1、增加1<<7、删除1<<8。
本发明由于引入了继承性标示,权限描述的数目大大减少,跟上述的Windows系统的权限定义方式比较,定义一个复杂的权限描述,权限描述的数目可减少n×x倍,其中n为子系节点需要禁止继承的权限行为的个数,x为子系节点的个数,所需的存储空间也大大减少,存储空间的大小取决于权限描述的数目,同样会有n*x倍的减小,但同时权限的计算变得相对复杂得多,因为需要计算的权限描述数目也同样减少了,计算速度不会有下降,反而在权限定义复杂的情况下,会得到计算速度的提升。用户对某一个树形资源节点也许并不存在权限描述,但是该用户对于该资源节点的上一级节点存在一条访问控制列表ACL的连接,而且表明该权限描述是可以被继承的,这个时候权限计算就应当沿树的根节点方向查找权限。此时,树节点和用户构成了一个二维平面。
请参阅图3本发明的权限计算示意图。如果当前节点的上一级节点禁止当前资源节点继承其任何权限,则禁止用户对上一级节点的操作行为,否则继续向上判断其上上一级节点的权限定义。计算机判断是否到达访问控制列表的根节点,是则结束权限限制,否则重复上述判断步骤,重复判断所到达节点的上一级节点的权限定义。在考虑一个用户权限的时候除了考虑其自身权限之外,还应该考虑它的上一级节点资源对其权限带来的影响。这可以用一个坐标系来示意表示,图3中坐标原点就是希望计算权限的资源节点,纵坐标上还排列着它的上层节点,一直到根节点为止。如果需要计算当前节点具体的权限,不但需要计算当前节点对应的权限定义,而且需要沿着权限计算的方向,计算其所有上层节点的权限定义,根据各权限的继承性标记定义,最终才确定用户在当前节点的权限。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种基于访问控制列表的权限控制方法,其特征在于,该方法包括以下步骤步骤1、计算机存储器接收用户输入的操作行为指令;步骤2、计算机判断存储器访问控制列表中用户行为指令所指向的某一资源节点有无权限控制,有则根据当前资源节点的权限定义和用户行为指令的优先级禁止用户的行为指令并结束,无则执行用户对当前资源节点的操作指令;步骤3、判断当前节点的上一级节点的权限定义,如果上一级节点禁止当前资源节点继承其权限,则禁止用户对上一级节点的操作行为并结束,否则继续向上判断当前节点上上一级节点的权限定义;步骤4、计算机判断是否到达访问控制列表的根节点,是则结束权限限制,否则重复步骤3。
2.根据权利要求1所述的基于访问控制列表的权限控制方法,其特征在于所述步骤1之前还包括在计算机存储器访问控制列表中构造资源用户权限索引的步骤。
3.根据权利要求2所述的基于访问控制列表的权限控制方法,其特征在于所述资源用户权限索引为一对多关系。
4.根据权利要求1所述的基于访问控制列表的权限控制方法,其特征在于所述步骤1中的用户输入的行为指令包括读取、修改、增加、删除中的一种或几种。
5.根据权利要求1所述的基于访问控制列表的权限控制方法,其特征在于所述步骤2中的访问控制列表为树形数据结构。
6.根据权利要求1所述的基于访问控制列表的权限控制方法,其特征在于采用继承性标示描述节点之间的关系,以判断节点的权限。
7.如权利要求6所述的基于访问控制列表的权限控制方法,其特征在于所述的继承性标示内容,包括下述之一或者组合禁止节点从其上一级节点继承任何权限;禁止节点的下一级节点从其继承任何权限;权限约束只对节点下一级节点有效,对本节点无效;权限约束只对目录型的下一级节点有效;权限约束只对非目录型的下一级节点有效;不从本节点上一级节点继承任何权限;不允许被其后续版本继承。
全文摘要
本发明是一种基于访问控制列表的权限控制方法。计算机存储器接收用户输入的行为指令;计算机判断存储器访问控制列表中用户行为所指向的某一资源节点有无权限控制,无则执行用户对当前资源节点操作指令,有则根据当前节点权限定义和行为优先级禁止用户行为并结束;判断当前节点的上一级节点权限定义,如果上一级节点禁止当前节点继承其任何权限则禁止用户对上一级节点的操作,否则继续向上判断其上上一级节点的权限定义;计算机判断是否到达访问控制列表根节点,是则结束,否则向上判断节点有无权限控制。本发明提供了一个通用的权限控制方法,达到了使用较小存储空间完成任意复杂度权限控制的任务。
文档编号G06F1/00GK1848022SQ20051006453
公开日2006年10月18日 申请日期2005年4月13日 优先权日2005年4月13日
发明者王会军, 刘小刚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1