CN109344601A - 一种角色权限访问控制方法及系统 - Google Patents
一种角色权限访问控制方法及系统 Download PDFInfo
- Publication number
- CN109344601A CN109344601A CN201811182405.6A CN201811182405A CN109344601A CN 109344601 A CN109344601 A CN 109344601A CN 201811182405 A CN201811182405 A CN 201811182405A CN 109344601 A CN109344601 A CN 109344601A
- Authority
- CN
- China
- Prior art keywords
- role
- permission
- attribute
- subclass
- parent
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种角色权限访问控制方法及系统,属于信息管理系统领域;其方法包括步骤1:创建权限;步骤2:创建父类角色,并为父类角色选择权限;步骤3:设置父类角色权限的属性,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;步骤4:创建父类角色对应节点下的子类角色,构成用于展示角色之间继承关系的树形结构;步骤5:根据树形结构进行角色权限访问控制;本发明解决了现有角色继承中权限设置复杂度高、容易死循环以及无法同时继承父类角色导致角色继承效率低的问题,达到了提高用户设置角色权限效率、实现子类角色继承子类角色部分权限或者全部权限、多个子类角色同时继承一个父类角色的效果。
Description
技术领域
本发明属于信息管理系统领域,尤其是一种角色权限访问控制方法及系统。
背景技术
在信息管理系统中,有许多不同类型的用户,他们需要处理不同的业务,现有技术中通过用户类型将用户划分为多个角色,每个角色拥有管理不同业务的权限;通过对用户授权角色,用户仅具有对应角色能够操作业务的权限,达到不同角色处理不同业务的目的。但是随着用户种类和业务数量的增加,角色数量也随着增加,创建新的角色和赋予角色权限的工作难度大大提高。
针对以上问题,角色继承应运而生,现有的信息管理系统中许多角色根据业务分类,角色之间需要共享一部分权限,同时具有一部分不同权限;在大部分角色继承的方法中,一方面,角色单一继承时为满足不同的权限需要单独进行设置,随着角色数量的增加,设置的复杂度随之增长;子类角色自动拥有父类角色的权限,无法满足父类角色中仅需一部分权被子类角色继承的业务场景需求;而且在角色继承过程中,采用一般的设置构建角色之间的关系,无法实现一个父类角色被多个子类角色同时继承的情况。另一方面,采用一般的设置构建角色之间的关系,存在角色A直接或者间接继承角色B的同时角色B直接或者间接继承角色A的问题,导致角色之间出现死循环继承的问题。综上,现有的角色继承因无法满足部分继承、无法同时继承、权限设置复杂等问题,角色授权效率低,导致角色继承效率差;因此,需要一种角色权限访问控制方法能满足现有信息管理系统的需求,实现简便设置角色单一继承时的权限、多角色继承中避免死循环以及多个子类同时继承一个父类角色,从而提高角色授权效率。
发明内容
本发明的目的在于:本发明提供了一种角色权限访问控制方法及系统,解决了现有角色继承中单一继承时权限设置复杂度高、多角色继承容易死循环以及多个子类角色无法同时继承一个父类角色导致角色继承效率低的问题。
本发明采用的技术方案如下:
一种角色权限访问控制方法,包括如下步骤:
步骤1:创建权限,设置权限对应的管理业务后保存权限基本信息;
步骤2:创建父类角色,并为父类角色选择一个及以上权限;
步骤3:设置父类角色权限的属性,所述属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
步骤4:创建父类角色对应节点下的子类角色,子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
优选地,所述步骤1中包括如下步骤:
步骤1.1:创建一个权限实体单元,设置权限实体单元的基本信息后生成记录,所述权限基本信息包括权限编号、权限名称、权限启用状态以及权限管理的业务单元;
步骤1.2:将步骤1.1的记录保存至数据库。
优选地,所述步骤2包括如下步骤:
步骤2.1:创建一个父类角色实体单元,设置父类角色对应的属性并生成一条记录,所述属性包括:父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;
步骤2.2:通过权限与角色关系实体单元为父类角色实体单元选择一个或者多个权限,创建对应的一条或者多条角色与权限的关系属性并生成记录,所述角色与权限的关系属性包括父类权限编号和父类角色编号。
优选地,所述步骤3包括如下步骤:
步骤3.1:通过权限与角色关系实体单元设置父类角色权限的属性:
若权限为公有属性时,其继承性质如下:
继承该角色的子类角色自动拥有该权限;
该权限在子类中可将属性重置为公有属性或者私有属性;
子类角色可以设置新的权限,并将其设置为公有属性或者私有属性;
若权限为私有属性时,其继承性质如下:
继承该角色的子类角色无法拥有该权限;
步骤3.2:将步骤2.1和2.2生成的记录与父类角色权限的属性保存至数据库。
优选地,所述步骤4包括如下步骤:
步骤4.1:通过设置子类角色属性中的父类角色编号创建父类角色对应节点下的子类角色后,保存子类角色的基本信息;
步骤4.2:基于步骤4.1,通过权限与角色关系实体单元为子类角色选择一个及以上权限后设置其权限的属性,通过角色关系实体单元将子类角色的属性和基本信息生成记录保存至数据库,构成用于展示角色之间继承关系的树形结构。
一种角色权限访问控制系统,包括用于动态创建角色以及构建角色之间关系的角色管理模块、用于动态分配权限后结合角色关系进行访问控制的权限管理模块和存储角色和权限信息的数据库,所述角色管理模块包括角色实体单元和角色关系实体单元,所述权限管理模块包括权限实体单元和权限与角色关系实体单元,其中,
所述角色实体单元,用于保存角色的基本信息;
所述角色关系实体单元,用于根据角色基本信息保存角色继承关系,构建树形结构,所述树形结构包括根节点即父类角色和子节点即子类角色;
所述权限实体单元,用于保存权限的基本信息和所管理的业务;
所述权限与角色关系实体单元,用于设置角色拥有的权限数量和权限的属性,并结合角色继承关系确定树形结构中当前角色即当前节点的权限,完成访问控制,所述属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性。
优选地,所述树形结构中每一个节点表示一个角色,其继承关系表示如下:Roles表示所有角色构成的集合,对于和满足r1∪r2∪r3∈Roles,则说明r2和r3可以同时继承r1所拥有的全部或者部分权限,构成一个根节点与两个子节点,作为树形结构的基本单元。
优选地,所述公有属性和私有属性在角色中权限被继承的范围表示如下:PPB和PPR分别表示权限P在该角色中的属性分别为公有属性和私有属性,其在角色中权限被继承的范围表示如下:对于PPB∈r1和PPR∈r1,当角色r1被r2继承时,即r1→r2,那么有PPB∈r2且
优选地,所述角色的基本信息包括父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;其中,
父类编号:用于保存上一级父类角色的节点编号;若该角色为树形结构的第一级节点,则该属性为空;
角色编号:用于保存当前角色的节点编号,该属性不能为空;
角色名称:用于保存当前角色的名字;
角色生效时间:用于保存该角色生效的起始时间,如果用户授权时即时生效,则该属性为空;
角色过期时间:用于保存角色过期的时间,若用户无限期内拥有该角色,则该属性为空;
排序序号:用于保存该角色在本级树形节点中所处位置的序号。
优选地,所述权限的基本信息包括权限编号、权限名称、权限管辖的业务单元和权限启用状态,其中,
权限编号:用于保存权限的唯一索引值;
权限名称:用于保存权限的名称;
权限管辖的业务单元:用于保存权限管理的业务索引;
权限启用状态:用于判断权限是否生效。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明通过构造树形结构和引入私有权限实现避免多角色继承死循环、多个子类角色同时继承一个父类角色以及简便设置权限,解决了现有角色继承中单一继承时权限设置复杂度高、多角色继承容易死循环以及多个子类角色无法同时继承一个父类角色导致角色继承效率低的问题,达到了提高用户设置角色权限效率、实现子类角色继承子类角色部分权限或者全部权限、多个子类角色同时继承一个父类角色,提高角色继承效率,提高信息管理效率的效果;
2.本发明通过构造树形结构表示角色之间继承的关系,角色之间的关系采用可视化的展示方式,其关系直观清晰,角色作为树形结构中树的叶子节点,只允许下层继承上层,避免了角色继承时继承关系中出现死循环;
3.本发明的树形结构中一个父类角色节点可以创建多个子类角色节点,实现父类角色允许被多个子类角色同时继承,解决了角色关系只能单一继承的问题;
4.本发明通过引入私有权限类型,私有权限无法继承,实现子类角色可以继承父类角色的部分或者全部权限,提高了用户对角色权限设置的效率,解决了单一角色继承时需分别设置权限,导致权限设置复杂度高的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的方法流程图;
图2为本发明的角色继承的树形结构示意图;
图3为本发明的角色继承时所属权限的继承范围示意图;
图4为本发明的实体关系图;
图5为本发明的数据库表;
图6为本发明的权限实体单元描述表即表1;
图7为本发明的角色实体单元描述表即表2;
图8为本发明的权限与角色关系的实体单元描述表即表3;
图9为本发明的XML数据存储方式示意表即表4。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
技术问题:解决了现有角色继承中单一继承时权限设置复杂度高、多角色继承容易死循环以及多个子类角色无法同时继承一个父类角色导致角色继承效率低的问题
技术手段:
如图1-9所示,一种角色权限访问控制方法,包括如下步骤:
步骤1:创建权限,设置权限对应的管理业务后保存权限基本信息;
步骤2:创建父类角色,并为父类角色选择一个及以上权限;
步骤3:设置父类角色权限的属性,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
步骤4:创建父类角色对应节点下的子类角色,子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
步骤1中包括如下步骤:
步骤1.1:创建一个权限实体单元,设置权限实体单元的基本信息后生成记录,权限基本信息包括权限编号、权限名称、权限启用状态以及权限管理的业务单元;
步骤1.2:将步骤1.1的记录保存至数据库。
步骤2包括如下步骤:
步骤2.1:创建一个父类角色实体单元,设置父类角色对应的属性并生成一条记录,属性包括:父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;
步骤2.2:通过权限与角色关系实体单元为父类角色实体单元选择一个或者多个权限,创建对应的一条或者多条角色与权限的关系属性并生成记录,角色与权限的关系属性包括父类权限编号和父类角色编号。
步骤3包括如下步骤:
步骤3.1:通过权限与角色关系实体单元设置父类角色权限的属性:
若权限为公有属性时,其继承性质如下:
继承该角色的子类角色自动拥有该权限;
该权限在子类中可将属性重置为公有属性或者私有属性;
子类角色可以设置新的权限,并将其设置为公有属性或者私有属性;
若权限为私有属性时,其继承性质如下:
继承该角色的子类角色无法拥有该权限;
步骤3.2:将步骤2.1和2.2生成的记录与父类角色权限的属性保存至数据库。
步骤4包括如下步骤:
步骤4.1:通过设置子类角色属性中的父类角色编号创建父类角色对应节点下的子类角色后,保存子类角色的基本信息;
步骤4.2:基于步骤4.1,通过权限与角色关系实体单元为子类角色选择一个及以上权限后设置其权限的属性,通过角色关系实体单元将子类角色的属性和基本信息生成记录保存至数据库,构成用于展示角色之间继承关系的树形结构;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
一种角色权限访问控制系统,包括用于动态创建角色以及构建角色之间关系的角色管理模块、用于动态分配权限后结合角色关系进行访问控制的权限管理模块和存储角色和权限信息的数据库,所述角色管理模块包括角色实体单元和角色关系实体单元,所述权限管理模块包括权限实体单元和权限与角色关系实体单元,其中,
所述角色实体单元,用于保存角色的基本信息;
所述角色关系实体单元,用于根据角色基本信息保存角色继承关系,构建树形结构,所述树形结构包括根节点即父类角色和子节点即子类角色;
所述权限实体单元,用于保存权限的基本信息和所管理的业务;
所述权限与角色关系实体单元,用于设置角色拥有的权限数量和权限的属性,并结合角色继承关系确定树形结构中当前角色即当前节点的权限,完成访问控制,所述属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性。
公有属性和私有属性在角色中权限被继承的范围表示如下:PPB和PPR分别表示权限P在该角色中的属性分别为公有属性和私有属性,其在角色中权限被继承的范围表示如下:对于PPB∈r1和PPR∈r1,当角色r1被r2继承时,即r1→r2,那么有PPB∈r2且
角色的基本信息包括父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;其中,
父类编号:用于保存上一级父类角色的节点编号;若该角色为树形结构的第一级节点,则该属性为空;
角色编号:用于保存当前角色的节点编号,该属性不能为空;
角色名称:用于保存当前角色的名字;
角色生效时间:用于保存该角色生效的起始时间,如果用户授权时即时生效,则该属性为空;
角色过期时间:用于保存角色过期的时间,若用户无限期内拥有该角色,则该属性为空;
排序序号:用于保存该角色在本级树形节点中所处位置的序号。
权限的基本信息包括权限编号、权限名称、权限管辖的业务单元和权限启用状态,其中,
权限编号:用于保存权限的唯一索引值;
权限名称:用于保存权限的名称;
权限管辖的业务单元:用于保存权限管理的业务索引;
权限启用状态:用于判断权限是否生效。
技术效果:本发明通过构造树形结构和引入私有权限实现避免多角色继承死循环、多个子类角色同时继承一个父类角色以及简便设置权限;通过构造树形结构表示角色之间继承的关系,角色之间的关系采用可视化的展示方式,其关系直观清晰,节点只允许下层继承上层,避免了角色继承时继承关系中出现死循环;树形结构中一个父类角色节点可以创建多个子类角色节点,实现父类角色允许被多个子类角色同时继承,解决了角色关系只能单一继承的问题;通过引入私有权限类型,私有权限无法继承,实现子类角色可以继承父类角色的部分或者全部权限,提高了用户对角色权限设置的效率,解决了单一角色继承时需分别设置权限,导致权限设置复杂度高的问题。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
实施例1
如图1-9所示,一种角色权限访问控制方法,包括如下步骤:
S1:创建权限,设置权限对应的管理业务后保存权限基本信息;
S2:创建父类角色,并为父类角色选择一个或者多个权限;
S3:设置父类角色的权限属性,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
S4:创建父类角色对应节点下的子类角色,子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
如图3所示,一种信息管理系统中角色权限访问控制的核心模块是一个通过树形结构实现角色的继承关系模型,该模型用于角色权限访问控制任务;该模型可以采用以下两种方式之一来存储实体单元的数据:(1)关系数据库,(2)XML文档;其中在关系数据库中实体关系图和数据库物理视图如图4-5所示:XML文档对权限实体单元、角色实体单元和权限与角色关系的实体单元的描述表即表1-3如图6-8所示;XML数据的存储方式即表4如图9所示;
在角色权限的继承过程中,实体单元的数据存储描述如下,其中S1的详细步骤如下:
S1:创建权限,设置权限对应的管理业务后保存权限基本信息;
S1的详细步骤如下:
S11:创建权限时,创建一个权限实体单元,设置权限实体单元的属性,将权限实体单元的属性:权限编号、权限名称、权限管辖的业务单元、权限启用状态等属性生成一条记录;
S12:使用SQL语句或者XML操作语句,将S11的记录分别存入到图2数据库表的权限表或者表4的XML文件即图9中;
S2:创建父类角色,并为父类角色选择一个或者多个权限;
S2的详细步骤如下:
S21:创建父类角色时,创建一个父类角色实体单元,将父类角色实体单元的属性:父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号等属性生成一条记录,此时父类编号为空;
S22:通过权限与角色关系实体单元为父类角色选择一个或者多个权限时,创建对应的一条或者多条角色与权限的关系记录,包含权限编号、角色编号、权限性质等属性;
S3:对父类角色中的权限设置权限属性,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
S3的详细步骤如下:
S31:根据继承规则,通过权限与角色关系实体单元设置父类角色中的权限的属性,属性包括公有属性和私有属性;
S32:将S21和S22中生成的记录分别存入图1数据库表的角色或者表1的XML文件即图6和图2数据库表的角色与权限或者表4的XML文件即图7;
S4:创建父类角色对应节点下的子类角色,即通过子类角色中包含的父类角色编号属性,构建角色之间的父子之间关系,子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构。
S4的详细步骤与S1同理,不同之处在于父类编号为父类角色的角色编号。
如图3所示,为本发明提出的权限继承方式,角色的权限属性设置为公有属性或者私有属性,具体包括以下两条规则:
规则一:当该角色的权限设置为公有属性时,角色的权限继承方式如下:
(1)继承该角色的子类角色自动拥有该权限;
(2)该权限在子类中可以设置为公有属性或者私有属性;
(3)子类角色可以设置新的权限,并将其设置为公有属性或者私有属性;
规则二:当该角色的权限设置为私有属性时,角色的权限继承方式如下:
(1)继承该角色的子类角色无法拥有该权限;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
本发明与单独角色权限设置相比,通过角色继承关系可以减少50%到90%的权限属性形;与现有的角色权限继承相比,权限的公有属性与私有属性可以减少30%到50%的权限属性设置;本发明通过构造树形结构和引入私有权限实现避免多角色继承死循环、多个子类角色同时继承一个父类角色以及简便设置权限;通过构造树形结构表示角色之间继承的关系,角色之间的关系采用可视化的展示方式,其关系直观清晰,避免了角色继承时继承关系中出现死循环;树形结构中一个父类角色节点可以创建多个子类角色节点,实现父类角色允许被多个子类角色同时继承,解决了角色关系只能单一继承的问题;通过引入私有权限类型,私有权限无法继承,实现子类角色可以继承父类角色的部分或者全部权限,提高了用户对角色权限设置的效率,解决了单一角色继承时需分别设置权限,导致权限设置复杂度高的问题。
实施例2
如图1-9所示,一种角色权限访问控制系统,包括用于动态创建角色以及构建角色之间关系的角色管理模块、用于动态分配权限后结合角色关系进行访问控制的权限管理模块和存储角色和权限信息的数据库,角色管理模块包括角色实体单元和角色关系实体单元,权限管理模块包括权限实体单元和权限与角色关系实体单元,其中,
角色实体单元,用于保存角色的基本信息;
角色关系实体单元,用于根据角色基本信息保存角色继承关系,构建树形结构,树形结构包括根节点即父类角色和子节点即子类角色;
权限实体单元,用于保存权限的基本信息和所管理的业务;
权限与角色关系实体单元,用于设置角色拥有的权限数量和权限的属性,并结合角色继承关系确定树形结构中当前角色即当前节点的权限,完成访问控制,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性。
公有属性和私有属性在角色中权限被继承的范围表示如下:PPB和PPR分别表示权限P在该角色中的属性分别为公有属性和私有属性,其在角色中权限被继承的范围表示如下:对于PPB∈r1和PPR∈r1,当角色r1被r2继承时,即r1→r2,那么有PPB∈r2且
角色的基本信息包括父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;其中,父类编号:用于保存上一级父类角色的节点编号;若该角色为树形结构的第一级节点,则该属性为空;角色编号:用于保存当前角色的节点编号,该属性不能为空;角色名称:用于保存当前角色的名字;角色生效时间:用于保存该角色生效的起始时间,如果用户授权时即时生效,则该属性为空;角色过期时间:用于保存角色过期的时间,若用户无限期内拥有该角色,则该属性为空;排序序号:用于保存该角色在本级树形节点中所处位置的序号。权限的基本信息包括权限编号、权限名称、权限管辖的业务单元和权限启用状态,其中,权限编号:用于保存权限的唯一索引值;权限名称:用于保存权限的名称;权限管辖的业务单元:用于保存权限管理的业务索引;权限启用状态:用于判断权限是否生效。
S1:通过权限实体单元创建权限,设置权限对应的管理业务后保存权限基本信息;
S2:通过角色实体单元创建父类角色,并通过权限与角色关系实体单元为父类角色选择一个或者多个权限;
S3:通过权限与角色关系实体单元设置父类角色的权限属性,属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
S4:通过角色实体单元和角色关系实体单元创建父类角色对应节点下的子类角色,通过权限与角色关系实体单元为子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构;
步骤5:权限与角色关系实体单元根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
本发明通过构造树形结构表示角色之间继承的关系,角色之间的关系采用可视化的展示方式,节点只允许下层继承上层,避免了角色继承时继承关系中出现死循环;树形结构中一个父类角色节点可以创建多个子类角色节点,实现父类角色允许被多个子类角色同时继承,解决了角色关系只能单一继承的问题;通过引入私有权限类型,私有权限无法继承,实现子类角色可以继承父类角色的部分或者全部权限,提高了用户对角色权限设置的效率,解决了单一角色继承时需分别设置权限,导致权限设置复杂度高的问题。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种角色权限访问控制方法,其特征在于:包括如下步骤:
步骤1:创建权限,设置权限对应的管理业务后保存权限基本信息;
步骤2:创建父类角色,并为父类角色选择一个及以上权限;
步骤3:设置父类角色权限的属性,所述属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性;
步骤4:创建父类角色对应节点下的子类角色,子类角色选择一个及以上权限后设置其权限的属性,构成用于展示角色之间继承关系的树形结构;
步骤5:根据树形结构中继承关系确定当前角色的权限,完成访问控制,所述当前角色即当前节点的权限包括当前角色自身权限和继承权限。
2.根据权利要求1所述的一种角色权限访问控制方法,其特征在于:所述步骤1中包括如下步骤:
步骤1.1:创建一个权限实体单元,设置权限实体单元的基本信息后生成记录,所述权限基本信息包括权限编号、权限名称、权限启用状态以及权限管理的业务单元;
步骤1.2:将步骤1.1的记录保存至数据库。
3.根据权利要求1或者2所述的一种角色权限访问控制方法,其特征在于:所述步骤2包括如下步骤:
步骤2.1:创建一个父类角色实体单元,设置父类角色对应的属性并生成一条记录,所述属性包括:父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;
步骤2.2:通过权限与角色关系实体单元为父类角色实体单元选择一个或者多个权限,创建对应的一条或者多条角色与权限的关系属性并生成记录,所述角色与权限的关系属性包括父类权限编号和父类角色编号。
4.根据权利要求3所述的一种角色权限访问控制方法,其特征在于:所述步骤3包括如下步骤:
步骤3.1:通过权限与角色关系实体单元设置父类角色权限的属性:
若权限为公有属性时,其继承性质如下:
继承该角色的子类角色自动拥有该权限;
该权限在子类中可将属性重置为公有属性或者私有属性;
子类角色可以设置新的权限,并将其设置为公有属性或者私有属性;
若权限为私有属性时,其继承性质如下:
继承该角色的子类角色无法拥有该权限;
步骤3.2:将步骤2.1和2.2生成的记录与父类角色权限的属性保存至数据库。
5.根据权利要求1或者4所述的一种角色权限访问控制方法,其特征在于:所述步骤4包括如下步骤:
步骤4.1:通过设置子类角色属性中的父类角色编号创建父类角色对应节点下的子类角色后,保存子类角色的基本信息;
步骤4.2:基于步骤4.1,通过权限与角色关系实体单元为子类角色选择一个及以上权限后设置其权限的属性,通过角色关系实体单元将子类角色的属性和基本信息生成记录保存至数据库,构成用于展示角色之间继承关系的树形结构。
6.一种角色权限访问控制系统,其特征在于:包括用于动态创建角色以及构建角色之间关系的角色管理模块、用于动态分配权限后结合角色关系进行访问控制的权限管理模块和存储角色和权限信息的数据库,所述角色管理模块包括角色实体单元和角色关系实体单元,所述权限管理模块包括权限实体单元和权限与角色关系实体单元,其中,
所述角色实体单元,用于保存角色的基本信息;
所述角色关系实体单元,用于根据角色基本信息保存角色继承关系,构建树形结构,所述树形结构包括根节点即父类角色和子节点即子类角色;
所述权限实体单元,用于保存权限的基本信息和所管理的业务;
所述权限与角色关系实体单元,用于设置角色拥有的权限数量和权限的属性,并结合角色继承关系确定树形结构中当前角色即当前节点的权限,完成访问控制,所述属性包括子类可拥有和可重置属性的公有属性和子类不可拥有的私有属性。
7.根据权利要求6所述的一种角色权限访问控制系统,其特征在于:所述树形结构中每一个节点表示一个角色,其继承关系表示如下:Roles表示所有角色构成的集合,对于 和满足r1∪r2∪r3∈Roles,则说明r2和r3可以同时继承r1所拥有的全部或者部分权限,构成一个根节点与两个子节点,作为树形结构的基本单元。
8.根据权利要求7所述的一种角色权限访问控制系统,其特征在于:所述公有属性和私有属性在角色中权限被继承的范围表示如下:PPB和PPR分别表示权限P在该角色中的属性分别为公有属性和私有属性,其在角色中权限被继承的范围表示如下:对于PPB∈r1和PPR∈r1,当角色r1被r2继承时,即r1→r2,那么有PPB∈r2且
9.根据权利要求6或者8所述的一种角色权限访问控制系统,其特征在于:所述角色的基本信息包括父类编号、角色编号、角色名称、角色生效时间、角色过期时间和排序序号;其中,
父类编号:用于保存上一级父类角色的节点编号;若该角色为树形结构的第一级节点,则该属性为空;
角色编号:用于保存当前角色的节点编号,该属性不能为空;
角色名称:用于保存当前角色的名字;
角色生效时间:用于保存该角色生效的起始时间,如果用户授权时即时生效,则该属性为空;
角色过期时间:用于保存角色过期的时间,若用户无限期内拥有该角色,则该属性为空;
排序序号:用于保存该角色在本级树形节点中所处位置的序号。
10.根据权利要求9所述的一种角色权限访问控制系统,其特征在于:所述权限的基本信息包括权限编号、权限名称、权限管辖的业务单元和权限启用状态,其中,
权限编号:用于保存权限的唯一索引值;
权限名称:用于保存权限的名称;
权限管辖的业务单元:用于保存权限管理的业务索引;
权限启用状态:用于判断权限是否生效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811182405.6A CN109344601A (zh) | 2018-10-11 | 2018-10-11 | 一种角色权限访问控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811182405.6A CN109344601A (zh) | 2018-10-11 | 2018-10-11 | 一种角色权限访问控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344601A true CN109344601A (zh) | 2019-02-15 |
Family
ID=65309052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811182405.6A Pending CN109344601A (zh) | 2018-10-11 | 2018-10-11 | 一种角色权限访问控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344601A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888867A (zh) * | 2019-12-09 | 2020-03-17 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种实现无人机余度管理数据结构的方法及装置 |
CN110929250A (zh) * | 2019-12-02 | 2020-03-27 | 山东中创软件工程股份有限公司 | 一种权限继承方法、装置、设备及介质 |
CN111563529A (zh) * | 2020-03-31 | 2020-08-21 | 中国科学院信息工程研究所 | 一种数据类别属性表示方法及访问控制方法 |
CN111581634A (zh) * | 2020-04-16 | 2020-08-25 | 上海市人民代表大会常务委员会信息中心 | 一种预算平台的权限管理方法 |
CN112163206A (zh) * | 2020-10-30 | 2021-01-01 | 平安数字信息科技(深圳)有限公司 | 数据权限设置方法、装置、计算机设备及存储介质 |
CN112307444A (zh) * | 2020-10-30 | 2021-02-02 | 平安数字信息科技(深圳)有限公司 | 角色创建方法、装置、计算机设备及存储介质 |
CN112597510A (zh) * | 2020-12-16 | 2021-04-02 | 中国工商银行股份有限公司 | 访问控制方法及装置 |
CN113987529A (zh) * | 2021-10-18 | 2022-01-28 | 江苏科技大学 | 一种用户及其多角色相结合的权限控制方法 |
CN117056885A (zh) * | 2023-07-21 | 2023-11-14 | 广州盈风网络科技有限公司 | 一种用户权限确定方法、装置、设备及存储介质 |
CN113987529B (zh) * | 2021-10-18 | 2024-05-24 | 江苏科技大学 | 一种用户及其多角色相结合的权限控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632082A (zh) * | 2013-12-10 | 2014-03-12 | 惠州华阳通用电子有限公司 | 一种通用权限管理系统及方法 |
CN104680082A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种数据权限访问控制模型 |
-
2018
- 2018-10-11 CN CN201811182405.6A patent/CN109344601A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103632082A (zh) * | 2013-12-10 | 2014-03-12 | 惠州华阳通用电子有限公司 | 一种通用权限管理系统及方法 |
CN104680082A (zh) * | 2015-03-17 | 2015-06-03 | 浪潮集团有限公司 | 一种数据权限访问控制模型 |
Non-Patent Citations (3)
Title |
---|
李健 等: ""RBAC 模型权限管理中三种新的角色继承机制和授权策略"", 《四川大学学报(自然科学版)》 * |
辰希小筑: ""权限管理系统之角色管理"", 《HTTPS://WWW.CNBLOGS.COM/IPRAGMATIC/P/4930396.HTML》 * |
韩彦伟 等: ""基于RBAC的角色权限树形管理"", 《湖北汽车工业学院学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929250A (zh) * | 2019-12-02 | 2020-03-27 | 山东中创软件工程股份有限公司 | 一种权限继承方法、装置、设备及介质 |
CN110888867A (zh) * | 2019-12-09 | 2020-03-17 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种实现无人机余度管理数据结构的方法及装置 |
CN110888867B (zh) * | 2019-12-09 | 2023-08-22 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种实现无人机余度管理数据结构的方法及装置 |
CN111563529A (zh) * | 2020-03-31 | 2020-08-21 | 中国科学院信息工程研究所 | 一种数据类别属性表示方法及访问控制方法 |
CN111581634A (zh) * | 2020-04-16 | 2020-08-25 | 上海市人民代表大会常务委员会信息中心 | 一种预算平台的权限管理方法 |
CN112163206A (zh) * | 2020-10-30 | 2021-01-01 | 平安数字信息科技(深圳)有限公司 | 数据权限设置方法、装置、计算机设备及存储介质 |
CN112307444A (zh) * | 2020-10-30 | 2021-02-02 | 平安数字信息科技(深圳)有限公司 | 角色创建方法、装置、计算机设备及存储介质 |
CN112597510A (zh) * | 2020-12-16 | 2021-04-02 | 中国工商银行股份有限公司 | 访问控制方法及装置 |
CN112597510B (zh) * | 2020-12-16 | 2024-01-30 | 中国工商银行股份有限公司 | 访问控制方法及装置 |
CN113987529A (zh) * | 2021-10-18 | 2022-01-28 | 江苏科技大学 | 一种用户及其多角色相结合的权限控制方法 |
CN113987529B (zh) * | 2021-10-18 | 2024-05-24 | 江苏科技大学 | 一种用户及其多角色相结合的权限控制方法 |
CN117056885A (zh) * | 2023-07-21 | 2023-11-14 | 广州盈风网络科技有限公司 | 一种用户权限确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344601A (zh) | 一种角色权限访问控制方法及系统 | |
US20170041256A1 (en) | Network operating system and method for messaging within an access control model | |
Al-Kahtani et al. | A model for attribute-based user-role assignment | |
US8688740B2 (en) | System and method for the maintenance and management of commercial property data | |
US5878431A (en) | Method and apparatus for providing topology based enterprise management services | |
CN100474835C (zh) | 语义信息网络(sion) | |
US20050138420A1 (en) | Automatic role hierarchy generation and inheritance discovery | |
Gupta et al. | The GURA G administrative model for user and group attribute assignment | |
US10296987B2 (en) | Policy-based energy management | |
US20050065977A1 (en) | Configuration of a directory system | |
US20120311658A1 (en) | Access Control System and Method | |
CN101729403A (zh) | 基于属性和规则的访问控制方法 | |
CN107276775A (zh) | 一种企业群组建立方法及装置 | |
CN101453357B (zh) | 一种网络管理控制方法与网络管理控制系统 | |
US20130198184A1 (en) | System, method and computer program product for portal user data access in a multi-tenant on-demand database system | |
CN109344603A (zh) | 一种统一登录系统 | |
US20060230042A1 (en) | Database security structure | |
CN111988173B (zh) | 基于多层父子结构租户的租户管理平台和租户管理方法 | |
CN104714825B (zh) | 统一策略配置的方法 | |
CN101187993A (zh) | 企业信息化管理系统中的策略管理方法 | |
CN105915442A (zh) | 一种重用已有群的eim 会话管理方法及系统 | |
CN109033810A (zh) | 一种权限管理系统 | |
CN108009422A (zh) | 一种基于多层级用户分组管理的多域划分方法及系统 | |
WO2012074562A1 (en) | People's task management framework | |
CN103220172A (zh) | 一种基于ldap用户权限管理的装置和方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190215 |