对权限资源进行权限配置的方法、权限系统和存储介质与流程

文档序号:18941861发布日期:2019-10-23 01:13阅读:290来源:国知局
对权限资源进行权限配置的方法、权限系统和存储介质与流程

本发明涉及工业应用的权限管理技术领域,尤其涉及一种用于对权限资源进行权限配置的方法、权限系统和存储介质。



背景技术:

权限资源管理的定义是用于实现用户对访问系统资源的控制,其按照安全规则或者安全策略控制用户能且只能访问自己被授权的资源。目前,权限资源管理主要有acl(访问策略控制)模型和rbac(基于角色的访问控制)模型的两种访问控制策略。

其中,基于acl模型的访问控制是对每个资源都形成是否可访问的列表,用户和权限直接挂钩。但这会增加在授予时的复杂性,造成权限数据巨大且不易于维护,难以实现最小权限原则,再加上基于acl模型的访问控制本身就具有复杂的安全策略的特点,进而严重影响了授权效率。

rbac模型则是通过权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这样设计的优势在于,对用户而言,只需被授予适当的角色即可,而角色可以拥有各种各样的权限并可继承。但是,目前基于rbac模型的控制方式的局限性在于控制的资源类型相对狭隘,不同的资源类型需要有对应的权限数据,不同类型权限资源往往很难被管理,因此实现过程复杂且不能灵活使用。



技术实现要素:

为了解决上述技术问题,本发明提供了一种基于rbac模型的在权限系统对权限资源进行权限配置的方法、用于对权限资源进行权限配置的权限系统和存储介质,对于不同资源类型的多种权限资源,通过抽取出每个资源项的id和编码作为与该权限资源对应的属性下的属性值,再对每个属性值分配权限实现了对于不同权限资源的统一管理和配置。

根据本发明的一个方面,提供了一种在权限系统中对权限资源进行权限配置的方法,包括:

根据资源类型将多种权限资源抽象成不同的属性;

抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值;以及

将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。

优选地,所述权限资源包括:菜单、页面和页面控件,以及业务数据。

优选地,所述根据资源类型将多种权限资源抽象成不同的属性包括:

将所述菜单抽象成菜单属性;

将所述页面和页面控件抽象成页面属性;以及

将所述业务数据抽象成数据属性。

优选地,所述业务数据是权限系统的数据和/或是使用所述权限系统的业务系统的数据。

优选地,所述操作是指对所述权限资源可进行的权限操作,可自定义,支持动态扩充,包括但不限于:增加、删除、修改、查询、导入和导出。

根据本发明的另一个方面,提供了一种用于对权限资源进行权限配置的权限系统,包括:

抽象模块,用于根据资源类型将多种权限资源抽象成不同的属性;

同步模块,用于抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值;以及

配置模块,用于将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。

优选地,所述权限资源包括菜单、页面和页面控件,以及业务数据,并且其中,所述抽象模块还用于:

将所述菜单抽象成菜单属性;

将所述页面和页面控件抽象成页面属性;以及

将所述业务数据抽象成数据属性。

优选地,所述业务数据是权限系统的数据和/或是使用所述权限系统的业务系统的数据。

优选地,所述操作是指对所述权限资源可进行的权限操作,可自定义,支持动态扩充,包括但不限于:增加、删除、修改、查询、导入和导出。

根据本发明的另一个方面,提供了一种存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使所述处理器执行本发明提供的在权限系统中对权限资源进行权限配置的方法。

与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:

本发明一实施例提供的在权限系统中对权限资源进行权限配置的方法和用于对权限资源进行权限配置的权限系统,适用于包含id和编码的所有数据,适用范围广。对于不同资源类型的多种权限资源,根据资源类型将多种权限资源抽象成不同的属性,抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值,实现了对于不同权限资源的统一配置和管理,且适用于第三方业务系统的数据,如文件数据、界区数据等。

在授权过程中只需对每个属性值分配相应权限,无需建立不同权限资源的资源表和资源-权限关联表,大幅缩减了权限资源配置的流程,使用灵活,更具备便捷性和易扩展性。

本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及说明书附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。

图1示意性示出了rbac模型。

图2示意性示出了现有的基于rbac模型的权限资源配置的原理图。

图3示出了根据本发明一实施例的在权限系统中对权限资源进行权限配置的方法的流程图。

图4示意性示出了根据本发明一实施例的在权限系统中对权限资源进行权限配置的方法的rbac模型。

图5示意性示出了根据本发明一实施例的用于对权限资源进行权限配置的权限系统的方框图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不必用这里的具体细节或者所描述的特定方式来实施。

为了能够更好地理解本发明的基于rbac模型的在权限系统中对权限资源进行权限配置的方法和用于对权限资源进行权限配置的权限系统。首先,对于rbac模型的原理进行简单的介绍。

rbac(基于角色的访问控制,role-basedaccesscontrol)支持公认的安全原则:最小权限原则、责任分离原则和数据抽象原则。这三个原则在现有技术中有详细的解释,在此不再赘述。rbac包含用户(users)、角色(roles)、许可(permissions)、对象(objects)、操作(operations)、分配(assignment)和会话(session)信息,利用这些信息rbac模型指明用户、角色、访问权限和会话之间的关系。

图1示意性示出了rbac模型。如图1所示,在rbac模型中包含用户、角色、对象、操作和许可五个基本数据元素。而会话表示的是用户与激活的角色集合之间的映射。

在rbac模型中,用户指的是组织机构下的人员,是一个具体的人。无论对于哪个用户而言,首先他必须是属于某个部门的,部门是行政单位,而某个部门也可以包含多个用户。例如,某公司市场部有10名员工,那么市场部是一个部门,而这10名员工就是10个用户,因此部门和用户的关系为一对多的关系。

角色是许可的载体,目的是隔离用户与许可的逻辑关系。一个角色可以包含多个用户,一个用户同样的也可以属于多个角色,所以角色与用户的关系为多对多的关系。例如,张三在一家公司同时担任研发部经理和副总经理,那么对于张三这个用户来说,他就对应有两个角色,一个角色是研发部经理,另一个角色是副总经理,这就是上述提到的一个用户可以属于多个角色。再例如,除了张三外,这家公司的副总经理还有李四和王五,那么对于副总经理这个角色来说,就对应有张三、李四和王五这三个用户,这就是上述提到的一个角色可以包含多个用户。

许可是一定数量的权限的集合,是权限管理系统的主体,其包括对象和操作。对象一般为资源,资源简单概括为静态资源(菜单、页面、页面控件和页面元素)和动态资源(数据),也分别称为对象资源和数据资源。操作可自定义,其支持动态扩充,包括但不限于:增加、删除、修改、查询、删除、导入、导出操作等。

在rbac模型中,许可直接被赋予给角色,而不是用户。当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。大多数情况下,用户、角色和许可三者之间的关系,可以把角色看做一个容器,这个容器里有很多用户,有很多许可,用户和许可之间是多对多的关系,用户通过角色与许可关联起来。

图2示意性示出了现有的基于rbac模型的权限资源配置的原理图。如图2所示,现有的基于rbac模型的权限资源配置对于每类资源都需要在后台数据库中建立不同的资源表进行保存,例如对于菜单资源需要建立菜单表,而对于页面资源需要建立页面元素表。而且,对于不同的资源需要建立不同的资源-权限关联表来表示资源和权限的关联关系。除了菜单和页面之外,对于文件数据,现有的权限系统中如果增加了文件对象,则需要在后台新设计对于文件的资源表和权限文件关联表,并编写代码,开发负担重,在实际使用中不够灵活。此外,现有的权限系统局限于对权限系统中自身的权限资源(菜单、页面)的配置和管理,而对第三方业务系统中的数据很难进行配置和管理。

随着业务需求的变化,资源类型的变更,传统的权限资源配置需要修改开发代码和数据库表结构来实现这些变化,一定程度上影响灵活性和效率性。为解决现有技术中对于不同权限资源的配置与管理困难,在分配和控制时实现过程复杂且不能灵活使用的技术问题,本发明一实施例提供了一种用于对权限资源进行权限配置的方法。

为了使本发明的技术方案更加清楚、明白,下面将参照附图并结合具体实施例对本发明进行详细描述。

图3示出了根据本发明一实施例的在权限系统中对权限资源进行权限配置的方法的流程图。如图3所示,该方法包括:

步骤s301:根据资源类型将多种权限资源抽象成不同的属性;

步骤s302:抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值;

步骤s303:将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。

首先,在步骤s301,根据资源类型将多种权限资源抽象成不同的属性。具体为,为了便于对权限资源的权限配置,因此对于不同类型的多种权限资源,根据其资源类型的不同,将多种权限资源抽象成不同的属性,使每一种权限资源都有一个属性相对应。更为具体地,在本发明一实施例中,权限资源包括菜单、页面和页面控件,以及业务数据(例如文件数据和界区数据)。业务数据是权限系统的数据和/或是使用权限系统的业务系统的数据。其中,权限系统也可以称为权限管理系统,权限系统主要用于对第三方业务系统的权限资源进行权限分配。在本发明一实施例中,所进行权限分配的权限资源还包括权限系统本身自有的资源。当然,权限资源也可以包括其他类型的资源或数据,只要该资源或数据具有id和编码,那么就可以作为本发明一实施例所要配置的权限资源,本发明不限于此。其中,界区指的是为区分在工业生产装置中完成不同系列或不同生产而划定的装置区域,界区数据指的是在这个界区内的所有装置的数据。

进一步地,在步骤s301中,将菜单抽象成菜单属性,将页面和页面控件抽象成页面属性,将业务数据抽象成数据属性。

接下来,执行步骤s302:抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值。在本发明一实施例中,权限资源可能包括有多个菜单、多个页面或者多个业务数据,相应地,对于其中的一个菜单、一个页面或者一个业务数据,其就是一个资源项。可以理解为,一个菜单是一个资源项,一个页面是一个资源项,一个业务数据也是一个资源项。其中,对任意一个资源项来说,它的id和编码都是属性内唯一的,其编码指的是根据一定规则赋予的该资源项的代码,用以划分不同的资源项、便于搜索和管理,例如demo_page就是该资源项的编码。而id指的是该资源项的编号,用于区别其他字段,例如11就是该资源项的id。

优选地,在本发明一实施例中,每个资源项在提交时,它的id和编码便已存储在数据库。因此,在步骤s302中,优选地从数据库中抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值。其中,对于一个菜单,则抽取出该菜单的id和编码作为菜单属性下的属性值。对于一个页面或页面控件,则抽取出该页面或页面控件的id和编码作为页面属性下的属性值。对于一个文件数据,则抽取出该文件数据的id和编码作为数据属性下的属性值。对于一个界区数据,则抽取出该界区数据的id和编码作为数据属性下的属性值。

对于每一个资源项来说,因为它的id和编码都是属性内唯一的,因此可以通过它的id和编码反推关联到该资源项的全部信息。在步骤s302中,已经抽取出每个资源项的id和编码作为与该权限资源对应的属性下的属性值,因此这时只需要对每个属性值分配权限就可以实现对权限资源的权限配置。

在步骤s303中,将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。具体地,对于每个属性值都可以配置不同的操作,可自定义,支持动态扩充,包括但不限于:新增操作、删除操作、查询操作、导入操作或导出操作。根据不同的配置需求,在对每个属性值配置完不同的操作集合后,会形成不同的许可。其中,每个许可都是多个已配置完操作的属性值的集合,可以理解为,每个许可包括至少一个已配置完操作的属性值。接下来,将这些许可授权给角色,并且将角色授权给用户,就完成了权限资源配置的授权流程。

对于用户而言,往往有很多的权限资源需要配置和管理,这其中就包括权限系统中自身的权限资源和第三方业务系统的权限资源。为了方便用户对于众多的属性值进行配置和管理。因此,本发明首先对于不同资源类型的多种权限资源抽象成不同的属性,再按照每个资源项的资源类型,抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值,这样就对于属性值进行了系统的分类,进而便于用户对不同资源类型的属性值进行配置和管理。

图4示意性示出了根据本发明一实施例的在权限系统中对权限资源进行权限配置的方法的rbac模型。如图4所示,本方法首先将权限资源(权限对象)都抽象成属性,并且根据资源类型的不同,将菜单抽象成菜单属性,将页面和页面控件抽象成页面属性,将业务数据(例如文件数据或界区数据)抽象成数据属性。接下来,抽取出每一种权限资源中每个资源项的id和编码作为与该权限资源对应的属性下的属性值。例如,每个菜单的id和编码作为菜单属性下的属性值,每个页面和页面控件的id和编码作为页面属性下的属性值,每个数据的id和编码作为数据属性下的属性值。再接下来,将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。

相应地,本发明一实施例还提供了一种用于对权限资源进行权限配置的系统。图5示意性示出了根据本发明一实施例的用于对权限资源进行权限配置的权限系统的方框图。如图5所示,该权限系统包括:

抽象模块,用于根据资源类型将多种权限资源抽象成不同的属性;

同步模块,用于抽取出每一种权限资源中每个资源项的id和编码作为与该权限资源对应的属性下的属性值;以及

配置模块,用于将每个属性值和操作相结合以形成许可,将许可授权给角色,并且将角色授权给用户。

在本发明一实施例中,权限资源包括菜单、页面和页面控件,以及业务数据。

在本发明一实施例中,抽象模块还用于:将菜单抽象成菜单属性;将页面和页面控件抽象成页面属性;将业务数据抽象成数据属性。

在本发明一实施例中,业务数据是权限系统的数据和/或是使用所述权限系统的业务系统的数据。

在本发明一实施例中,所述操作可自定义,支持动态扩充,包括但不限于:增加、删除、修改、查询、导入和导出。

上述各模块中的操作的具体细化,可参见上面结合图3和图4对本发明方法的说明,在此不再详细赘述。

需要说明的是,对于使用权限系统的业务系统的数据(如文件数据和界区数据),可以通过本发明一实施例提供的系统的同步模块抽取出每个资源项的id和编码作为与该权限资源对应的属性下的属性值,也可以是用户自己输入每个资源项的id和编码作为该权限资源对应的属性下的属性值,本发明不限于此。

与现有技术相比,当有业务数据(例如文件数据、界区数据)需要进行权限配置时,本发明一实施例提供的系统通过抽象模块只需要新抽象一种属性,即数据属性,然后通过同步模块抽取出文件数据或界区数据的id和编码作为数据属性下的属性值,再通过配置模块对属性值配置相应的操作便形成了许可。整个配置过程中无需在后台新设计对应的资源表和权限-资源关联表,也无需编写代码,便于对权限系统和第三方业务系统中的数据进行配置且使用灵活。

相应地,本发明一实施例还提供一种存储介质,其上存储有可执行代码,所述可执行代码在被处理器执行时,使所述处理器执行本发明一实施例提供的在权限系统中对权限资源进行权限配置的方法。

综上所述,本发明一实施例提供的在权限系统中对权限资源进行权限配置的方法和用于对权限资源进行权限配置的权限系统,适用于包含id和编码的所有数据,适用范围广。对于不同资源类型的多种权限资源,根据资源类型将多种权限资源抽象成不同的属性,抽取出每一种权限资源中的每个资源项的id和编码作为与该权限资源对应的属性下的属性值,实现了对于不同权限资源的统一配置和管理,且适用于使用权限系统的业务系统的数据,如文件数据、界区数据等。

在授权过程中只需对每个属性值分配相应权限,无需建立不同权限资源的资源表和资源-权限关联表,大幅缩减了权限资源配置的流程,使用灵活,更具备便捷性和易扩展性。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“实施例”意指结合实施例描述的特定特征、或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“实施例”并不一定均指同一个实施例。

本领域的技术人员应该明白,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域的技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom或技术领域内所公知的任意其它形式的存储介质中。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1