基于角色对用户的一对一的权限授权方法和系统与流程

文档序号:11432501阅读:362来源:国知局
基于角色对用户的一对一的权限授权方法和系统与流程

本发明涉及一种epr等管理软件系统的用户权限管理方法,特别是涉及一种基于角色对用户的一对一的权限授权方法和系统。



背景技术:

基于角色的访问控制(rbac)是近年来研究最多、思想最成熟的一种数据库权限管理机制,它被认为是替代传统的强制访问控制(mac)和自主访问控制(dac)的理想候选。基于角色的访问控制(rbac)的基本思想是根据企业组织视图中不同的职能岗位划分不同的角色,将数据库资源的访问权限封装在角色中,用户通过被赋予不同的角色来间接访问数据库资源。

在大型应用系统中往往都建有大量的表和视图,这使得对数据库资源的管理和授权变得十分复杂。由用户直接管理数据库资源的存取和权限的收授是十分困难的,它需要用户对数据库结构的了解非常透彻,并且熟悉sql语言的使用,而且一旦应用系统结构或安全需求有所变动,都要进行大量复杂而繁琐的授权变动,非常容易出现一些意想不到的授权失误而引起的安全漏洞。因此,为大型应用系统设计一种简单、高效的权限管理方法已成为系统和系统用户的普遍需求。

基于角色的权限控制机制能够对系统的访问权限进行简单、高效的管理,极大地降低了系统权限管理的负担和代价,而且使得系统权限管理更加符合应用系统的业务管理规范。

然而,传统基于角色的用户权限管理方法均采用“角色对用户一对多”的关联机制,其“角色”为组/类性质,即一个角色可以同时对应/关联多个用户,角色类似于岗位/职位/工种等概念,这种关联机制下对用户权限的授权基本分为以下三种形式:

1、如图1所示,直接对用户授权,缺点是工作量大、操作频繁且麻烦;

2、如图2所示,对角色(类/组/岗位/工种性质)进行授权(一个角色可以关联多个用户),用户通过角色获得权限;

3、如图3所示,以上两种方式结合。

以上的表述中,2、3均需要对类/组性质的角色进行授权,而通过类/组/岗位/工种性质的角色进行授权的方式有以下缺点:

1、用户权限变化时的操作难:在实际的系统使用过程中,经常因为在运营过程中需要对用户的权限进行调整,比如:在处理员工权限变化的时候,角色关联的某个员工的权限发生变化,我们不能因该个别员工权限的变化而改变整个角色的权限,因为该角色还关联了其他权限未变的员工。因此为了应对该种情况,要么创建新角色来满足该权限发生变化的员工,要么对该员工根据权限需求直接授权(脱离角色)。以上两种处理方式,在角色权限较多的情况下对角色授权不仅所需时间长,而且容易犯错,使用方操作起来繁琐又麻烦,也容易出错导致对系统使用方的损失。

2、要长期记住角色包含的具体权限难:若角色的权限功能点比较多,时间一长,很难记住角色的具体权限,更难记住权限相近的角色之间的权限差别,若要关联新的用户,无法准确判断应当如何选择关联。

3、因为用户权限变化,则会造成角色创建越来越多(若不创建新角色,则会大幅增加直接对用户的授权),更难分清各角色权限的具体差别。

4、调岗时,若要将被调岗用户的很多个权限分配给另外几个用户承担,则处理时必须将被调岗用户的这些权限区分开来,分别再创建角色来关联另外几个用户,这样的操作不仅复杂耗时,而且还很容易发生错误。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于角色对用户的一对一的权限授权方法和系统,同一时段一个角色只能关联唯一的用户,大幅度提高系统使用中的权限管理效率,使动态授权更简单,更方便,更清晰、明了,提高权限设置的效率和可靠性。

本发明的目的是通过以下技术方案来实现的:基于角色对用户的一对一的权限授权方法,包括以下顺序步骤:

s1:建立角色,每个角色是独立的个体,而非组/类;

s2:对s1所建立的角色分别进行授权;

s3:将用户关联到角色,其中,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色。

对角色的授权包括对表单的授权、对菜单的授权或对功能的授权。

所述的角色创建时必须选择一个部门,角色一旦创建后则该角色归属于该部门,且该角色在该部门下唯一,根据角色的工作内容对角色进行授权。

基于角色对用户的一对一的权限授权方法,还包括一个用户跨部门调岗管理步骤,具体包括:

(1)取消用户与原部门内的角色的关联;

(2)将用户与新部门内的角色进行关联。

所述的用户能且只能通过其与角色的关联确定权限。

基于角色对用户的一对一的权限授权方法,包括以下顺序步骤:

s1:建立角色,每个角色是独立的个体,而非组/类;

s2:将用户关联到角色,其中,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;

s3:对s1所建立的角色分别进行授权。

对角色的授权包括对表单的授权、对菜单的授权或对功能的授权。

所述的角色创建时必须选择一个部门,角色一旦创建后则该角色归属于该部门,且该角色在该部门下唯一,根据角色的工作内容对角色进行授权。

基于角色对用户的一对一的权限授权方法,还包括一个用户跨部门调岗管理步骤,具体包括:

(1)取消用户与原部门内的角色的关联;

(2)将用户与新部门内的角色进行关联。

所述的用户能且只能通过其与角色的关联确定权限。

基于角色对用户的一对一的权限授权系统,包括角色建立单元、角色授权单元和用户-角色关联单元;

所述的角色建立单元用于根据岗位进行角色布局,建立系统角色,每个角色是独立个体,而非组/类;

所述的角色授权单元用于根据角色的工作内容对角色赋予权限;

所述的用户-角色关联单元用于将用户关联到角色,确保同一时段一个角色只能关联唯一的用户,一个用户关联一个或多个角色。

所述系统角色的构成为:岗位名+岗内编号。

本发明的有益效果是:

(1)传统的权限管理机制将角色定义为组、工种、类等性质,角色对用户是一对多的关系,在实际的系统使用过程中,经常因为在运营过程中需要对用户的权限进行调整,比如:在处理员工权限变化的时候,角色关联的某个员工的权限发生变化,我们不能因该个别员工权限的变化而改变整个角色的权限,因为该角色还关联了其他权限未变的员工。因此为了应对该种情况,要么创建新角色来满足该权限发生变化的员工,要么对该员工根据权限需求直接授权(脱离角色)。以上两种处理方式,在角色权限较多的情况下对角色授权不仅所需时间长,而且容易犯错,使用方操作起来繁琐又麻烦,也容易出错导致对系统使用方的损失。

但在本申请的方法下,因为角色是一个独立的个体,则可以选择改变角色权限即可达到目的。本申请的方法,虽然看起来在系统初始化时会增加工作量,但可以通过复制等方法,使其创建角色或授权的效率高于传统以组为性质的角色,因为不用考虑性质为组的角色在满足关联用户时的共通性,本申请方案会让权限设置清晰,明了;尤其是在系统使用一段时间后(用户/角色权限动态变化),该申请方案能为系统使用方大幅度提高系统使用中的权限管理效率,使动态授权更简单,更方便,更清晰、明了,提高权限设置的效率和可靠性。

(2)传统以组为性质的角色授权方法容易出错,本申请方法大幅降低了授权出错的几率,因为本申请方法只需考虑作为独立个体的角色,而不用考虑传统方法下关联该组性质角色的多个用户有哪些共通性。即使授权出错也只影响关联到该角色的那一个用户,而传统以组性质的角色则会影响关联到该角色的所有用户。即使出现权限授权错误,本申请的修正方法简单、时间短,而传统以组性质的角色在修正错误时需要考虑关联到该角色的所有用户的权限共通性,在功能点多的情况下不仅修改麻烦、复杂,非常容易出错,且很多情况下只能新创建角色才能解决。

(3)在传统以组为性质的角色授权方法下,若角色的权限功能点比较多,时间一长,很难记住角色的具体权限,更难记住权限相近的角色之间的权限差别,若要关联新的用户,无法准确判断应当如何选择关联。本申请方法的角色本身就具有岗位号/工位号的性质,选择一目了然。

(4)调岗时,若要将被调岗用户的很多个权限分配给另外几个用户承担,则处理时必须将被调岗用户的这些权限区分开来,分别再创建角色来关联另外几个用户,这样的操作不仅复杂耗时,而且还很容易发生错误。

本申请方法则为:被调岗用户关联了几个角色,在调岗时,首先取消用户与原部门内的角色的关联(被取消的这几个角色可以被重新关联给其他用户),然后将用户与新部门内的角色进行关联即可。操作简单,不会出错。

(5)创建角色时,需要选定一个部门,一旦该角色创建完成,则部门不能被更换,角色为什么不能更换部门:

理由1:因为本申请的角色性质等同于一个工位号/岗位号,不同的工位号/岗位号的工作内容/权限是不一样的,如销售部门下的销售员1角色和技术部门的开发人员1角色是完全不同的两个工位号/岗位号,其权限是不同的;

理由2:若将销售员1角色的所属部门(销售部)更换为技术部,其销售人员1这个角色的权限不变,则在技术部存在拥有销售部权限的一个角色,这样会导致管理混乱及安全漏洞。

附图说明

图1为背景技术中系统直接对用户进行授权的方式示意图;

图2为背景技术中系统对组/类性质角色进行授权的方式示意图;

图3为背景技术中系统对用户直接授权和对组/类性质角色授权相结合的方式示意图;

图4为本发明系统通过独立个体性质角色对用户进行授权的方式示意图;

图5为本发明授权方法流程图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

【实施例1】如图1所示,基于角色对用户的一对一的权限授权方法,包括以下顺序步骤:

s1:建立角色,每个角色是独立的个体,而非组/类;

s2:对s1所建立的角色分别进行授权;

s3:将用户关联到角色,其中,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色。用户只能通过其与角色的关联确定权限,如果要修改用户的权限,通过调整角色所拥有的权限以达到改变关联了该角色的用户的权限的目的。对用户不直接授权,而是通过其所关联的角色对用户进行授权,一旦用户关联角色后,该用户就拥有了该角色的所有操作权限。

角色对用户的关系为一对一(该角色与一个用户关联时,其他用户则不能再关联该角色;若该角色未被用户关联,则可以被其他用户选择关联)。用户对角色的关系为一对多(一个用户可以同时关联多个角色)。

角色的定义:角色不具有组/类/类别/岗位/职位/工种等性质,而是一个非集合的性质,角色具有唯一性,角色是独立存在的独立个体;在企事业单位应用中相当于岗位号(此处的岗位号非岗位,一个岗位同时可能有多个员工,而同一时段一个岗位号只能对应一个员工)。

举例:某个公司系统中可创建如下角色:总经理、副总经理1、副总经理2、北京销售一部经理、北京销售二部经理、北京销售三部经理、上海销售工程师1、上海销售工程师2、上海销售工程师3、上海销售工程师4、上海销售工程师5……

用户与角色的关联关系:若该公司员工张三任职该公司副总经理2,同时任职北京销售一部经理,则张三需要关联的角色为副总经理2和北京销售一部经理,张三拥有了这两个角色的权限。

对角色的授权:系统对角色的授权包括但不限于对表单的授权、对菜单的授权或对功能的授权。对表单的操作授权包括但不限于增删插改。

传统角色的概念是组/类/岗位/职位/工种性质,一个角色能够对应多个用户。而本申请“角色”的概念相当于岗位号/工位号,也类同于影视剧中的角色:一个角色在同一时段(童年、少年、中年……)只能由一个演员来饰演,而一个演员可能会分饰多角。

对角色的授权包括但不限于对表单的授权、对菜单的授权或对功能的授权。

所述的角色创建时必须选择一个部门,角色一旦创建后则该角色归属于该部门,且该角色在该部门下唯一,根据角色的工作内容对角色进行授权。

如果用户要变换部门则涉及到跨部门调岗,其具体操作过程包括:

(1)取消用户与原部门内的角色的关联;

(2)将用户与新部门内的角色进行关联。

在创建角色之后,可以在创建用户的过程中关联角色,也可以在用户创建完成后随时进行关联。用户关联角色后可以随时解除与角色的关联关系,也可以随时建立与其他角色的关联关系。

【实施例2】基于角色对用户的一对一的权限授权方法,包括以下顺序步骤:

s1:建立角色,每个角色是独立的个体,而非组/类;

s2:将用户关联到角色,其中,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;

s3:对s1所建立的角色分别进行授权。

【实施例3】为了实现上述权限授权方法,基于角色对用户的一对一的权限授权系统,应当最少包括角色建立单元、角色授权单元和用户-角色关联单元;

所述的角色建立单元用于根据岗位进行角色布局,建立系统角色,每个角色是独立个体,而非组/类;所述系统角色的构成为:岗位名+岗内编号;例如:车间生产工人1、车间生产工人2、车间生产工人3……角色是独立个体,相当于岗位号、工位号的概念,不同于传统权限管理体系中的角色,传统体系中角色的概念是岗位/职位/工种等的组/类性质。

所述的角色授权单元用于根据角色的工作内容对角色赋予权限;

所述的用户-角色关联单元用于将用户关联到角色,确保同一时段一个角色只能关联唯一的用户,一个用户关联一个或多个角色。

【实施例4】以下举例员工张三进入某公司后,员工、用户与角色之间的关系为:

1、新入职:员工新入职,直接为该用户(员工)选择相应的岗位号/工位号的角色进行关联即可,例:张三入职公司(公司为张三分配了一个张三用户),工作内容是在销售一部,负责北京区域冰箱产品的销售(对应的角色是销售一部下的“销售工程师5”这个角色),则张三用户直接选择“销售工程师5”这个角色关联即可。

2、增加职位:张三工作一段时间后,公司还安排张三负责北京区域电视产品的销售(对应的角色是销售一部下的“销售工程师8”这个角色)并兼任售后部主管(对应售后部主管1这个角色),则张三用户再增加关联销售一部下的“销售工程师8”和售后部下的“售后部主管1”这两个角色,此时,张三员工关联了三个角色,分别为销售一部下的“销售工程师5”、“销售工程师8”和售后部下的“售后部主管1”,张三用户则拥有了这三个角色的权限。

3、减少职位:又过了一段时间,公司决定让张三任职售后部经理(对应售后部下“售后部经理”这个角色),且不再兼任其他工作。则张三用户关联售后部下“售后部经理”这个角色,同时取消此前关联的三个角色(销售一部下的“销售工程师5”、“销售工程师8”和售后部下的“售后部主管1”),此时,张三用户只拥有售后部下“售后部经理”这个角色的权限。

4、角色权限的调整(针对角色本身所拥有的权限的调整):如公司决定增加售后部经理的权限,则只需增加对售后部经理这个角色的授权即可,则张三用户因为售后部经理这个角色的权限增加了,张三用户的权限也增加了。

5、离职:一年后,张三离职了,则取消张三用户与售后部下“售后部经理”这个角色的关联即可。

举例:公司在动态的经营中,职员的入职、离职是经常持续发生的,但岗位号/工位号的变化非常少(甚至在一定时期内是没有变化的)。

传统授权方法:在系统功能点多的情况下,以传统的组/类性质的角色进行授权,不仅授权工作量大,繁杂,而且很容易出错,甚至出错了在短时间内都不容易发现,容易对系统使用方造成损失。

本申请授权方法:本申请是对岗位号/工位号性质的角色进行授权,用户关联角色而确定权限,则对用户权限的控制,只是通过简单的用户-角色的关联关系来实现,让权限控制变得简单、易操作,清晰明了,大幅度提高了授权效率和授权可靠性。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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