基于角色的表单操作权限授权方法与流程

文档序号:16630051发布日期:2019-01-16 06:29阅读:223来源:国知局
基于角色的表单操作权限授权方法与流程

本发明涉及一种erp等管理软件系统的用户权限管理方法,特别是涉及基于角色的表单操作权限授权方法。



背景技术:

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

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

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

然而,传统基于角色的用户权限管理方法均采用“角色对用户一对多”的关联机制,其“角色”为组/类性质,即一个角色可以同时对应/关联多个用户,角色类似于岗位/职位/工种等概念,这种关联机制下对用户权限的授权基本分为以下三种形式:1、如图1所示,直接对用户授权,缺点是工作量大、操作频繁且麻烦;2、如图2所示,对角色(类/组/岗位/工种性质)进行授权(一个角色可以关联多个用户),用户通过角色获得权限;3、如图3所示,以上两种方式结合。

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

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

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

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

企业中的表单种类较多,比如客户表单、合同表单、订单表单等,企业中不同的角色对表单的操作权限也是要求不同的,比如张三需要对所有的表单有新增、查看、修改、删除、打印的表单操作权限,而李四等其它50名员工只拥有对合同表单的打印权限,现有软件系统中,不能实现基于不同角色的表单操作权限的分别授权,企业的信息安全堪忧,会因为员工角色对表单操作权限未区别设置造成企业机密表单外泄,给企业造成风险,另外现有软件系统不能以李四为模板对其余只有表单打印权限的员工进行批量授权,工作效率十分低下。



技术实现要素:

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

本发明的目的是通过以下技术方案来实现的:基于角色的表单操作权限授权方法,包括,选择被授权角色:选择一个或多个角色作为被授权角色,每个角色是独立的个体,而非组/类,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;选择表单:选择一个或多个表单;当选择的被授权角色为一个且被选表单为一个时,显示该被授权角色对被选表单现有操作权限状态,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中;当被授权角色和被选表单中两者任意一者为两个或以上时,显示未选中的空白表单操作权限;对被授权角色进行表单(被选中表单)操作权限授权;在上述步骤完成后,保存被授权角色的权限(保存被授权角色对被选中表单的操作权限)。

作为优选的,当选择的被授权角色为一个,且选定某个表单时,显示最近对该被授权角色进行该表单授权的操作者和操作时间。

作为优选的,当选择的被授权角色为一个且选择的表单为一个时,显示表单所有的操作权限,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中。

作为优选的,所述的角色构成为:岗位名+岗内编号。作为优选的,所述的角色归属于部门,且该角色在该部门下唯一,根据角色的工作内容对角色进行授权。

作为优选的,所述的角色的名称在该部门下唯一,该角色的编号在系统中唯一。

作为优选的,所述的用户跨部门调岗时,取消用户与原部门内的角色的关联,将用户与新部门内的角色进行关联。

用户通过关联角色获得权限。

基于角色的表单操作权限授权方法,包括,选择被授权角色:选择一个或多个角色作为被授权角色,每个角色是独立的个体,而非组/类,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;选择表单:选择一个或多个表单,当选择的被授权角色为一个且被选表单为一个时,显示该被授权角色对被选表单现有操作权限状态,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中;当被授权角色和被选表单中两者任意一者为两个或以上时,显示表单操作权限,该表单操作权限均未被选中;对被授权角色进行表单(被选中表单)操作权限授权,所述的表单操作权限包括表单的新增、查看、修改、删除、打印中的一种或多种权限组合;在上述步骤完成后,保存被授权角色的权限(保存被授权角色对被选中表单的操作权限)。

基于角色的表单操作权限授权方法,包括,选择被授权角色:选择一个或多个角色作为被授权角色,每个角色是独立的个体,而非组/类,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;选择表单:选择一个或多个表单,当选择的被授权角色为一个且被选表单为一个时,显示该被授权角色对被选表单现有操作权限状态,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中;当被授权角色和被选表单中两者任意一者为两个或以上时,显示表单操作权限,该表单操作权限均未被选中;对被授权角色进行表单(被选中表单)操作权限授权:显示表单的所有操作权限,选择一个现有角色或已创建模板作为授权模板,将该授权模板此前已选中且保存的表单操作权限自动选中,并在该授权模板所选中的表单操作权限的基础上进行表单权限的后续操作;在上述步骤完成后,保存被授权角色的权限(保存被授权角色对被选中表单的操作权限)。

所述的后续操作包括在授权模板所选中的表单操作权限的基础上进行的对表单权限的增加、减少和不修改。

本发明的有益效果是:(1)在对一个被授权角色进行授权时,在选择被授权角色时显示该被授权角色已选中且保存的表单授权状态,便于操作者在此基础上进行修改进行表单权限授权;能够对两个或以上的被授权角色进行授权,提高了权限完全相同或权限大部分相同的批量角色的表单授权效率;(2)当被授权角色为一个时,选择被授权角色后,显示该被授权角色最近一次被授权的授权操作者及授权时间,便于在角色的权限出现错误时进行追责,以及判断该角是否需要进行授权,完善了企业管理制度;(3)在多人授权及模板授权中,可以批量处理多个角色的授权,比如100人中有90个人的表单权限是相同的,操作者对这90个人即可进行批量的多人角色中进行多角色授权,另外在对其余10个人进行其余表单权限设置,节约了操作者的工作时间,提高了操作者的工作效率,进一步完善了企业管理制度;(4)本申请角色对用户是一对一的关系,同一时段一个角色只能关联唯一的用户,一个用户关联一个或多个角色,用户关联到角色后则自动获得了该角色所有的表单操作权限。这样做的好处是,只要将用户关联到角色即可获得权限(即用户获得其关联的角色的权限),而且角色的权限变更比传统机制中的用户权限变更要少得多。独立体性质(岗位号/工位号性质)的角色数量变化小,虽然员工流动大,但岗位号/工位号的变化小(甚至在一定时段内是没有变化的,即角色没有变化),这样将极大简化用户的权限管理,减少系统的开销。

(5)动态管理、入职调岗等的操作简单方便,效率高,可靠性高:入职/离职/调岗在审批流程(及表单权限管理)中的应用简单,工作流程的审批的操作主体是角色,当员工/用户发生变化时不用重新设置审批流程,用户只需取消或关联角色即可:不再任职该岗位号/工位号的角色的用户就取消该角色关联,接手任职该岗位号/工位号的角色的用户关联该岗位号的角色,则关联该角色的用户自动就获得了该角色在审批工作流中的相关任务和权限,无需对审批工作流进行重新设置或对工作流中的角色进行重新授权(关联该角色的用户也自动获得了该角色的表单操作权限,也无需对该角色的表单操作权限进行重新授权),极大地提高了流程设置的效率、安全性和可靠性。

举例:因张三用户离职或调岗等原因,张三不再做“采购员3”这个角色的工作,则张三取消了与该角色的关联;另外李四接手做“采购员3”这个角色的工作,则将李四关联该角色,则李四自动获得了审批流程中“采购员3”这个角色的审批任务和审批权限(李四也自动获得了“采购员3”这个角色的表单的操作权限)。

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

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

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

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

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

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

附图说明

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

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

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

图4为本发明的授权流程图;

图5为本发明单一被授权角色的表单操作权限的系统设置显示图;

图6为本发明多个被授权角色的表单操作权限的批量系统设置显示图;

图7为本发明单一被授权角色的多个表单操作权限的批量系统设置显示图;

图8为本发明利用已创建模板进行表单操作权限授权的系统设置显示图。

具体实施方式

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

如图4所示,基于角色的表单操作权限授权方法,包括,选择被授权角色:选择一个或多个角色作为被授权角色,每个角色是独立的个体,而非组/类,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;选择表单:选择一个或多个表单,当选择的被授权角色为一个且被选表单为一个时,显示该被授权角色对被选表单现有操作权限状态,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中;当被授权角色和被选表单中两者任意一者为两个或以上时,显示表单操作权限,该表单操作权限均未被选中;选择被授权角色和选择表单这两个步骤没有先后顺序;

对被授权角色进行表单(被选中表单)操作权限授权;在上述步骤完成后,保存被授权角色的权限(保存被授权角色对被选中表单的操作权限)。

【实施例1】如图5所示,操作者选择的被授权角色为一个(总经办部门下的文员1张三),然后被选表单为一个(客户表单)时,该被授权角色(文员1张三)的表单所有的操作权限自动显示,其表单所有操作权限为新增和修改及查看、删除、打印等,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中(选中新增和修改),在其基础上可以修改(增加、减少或者不改变),然后保存被授权角色的权限(保存被授权角色对被选中表单的操作权限),即完成对文员1张三的表单操作权限授权。

同时,当操作者选择的被授权角色为一个(总经办部门下的文员1张三),然后被选表单为一个(客户表单)时,显示该被授权角色最近一次表单权限被授权的授权操作者及授权时间,最近一次对文员1张三的授权操作者为张二,授权时间为2017年5月6日,15:00。

【实施例2】如图6所示,操作者选择的被授权角色为10个(总经办部门下的文员1、文员2…文员10),被选表单为一个(订单表单)时,表明操作者需要对该部门下的10个角色进行订单表单的授权,此时订单表单为空白权限(订单表单的所有操作权限:新增、查看、修改、删除、打印等均显示,但不选中),订单表单的操作权限均未被选中(未授权,即不显示被授权的10个角色的原来已有的授权情况),然后对该10名角色进行关于订单表单内的查看权限进行授权(选中),保存被授权角色的权限(保存被授权角色对被选中表单的操作权限),即完成对该部门下的10个角色的订单表单的查看操作权限作出批量授权,则,该部门下的10个角色对订单表单均可以进行查看。

【实施例3】如图7所示,操作者选择的被授权角色为1个(总经办部门下的文员1张三),被选表单为两个(订单表单和客户表单)时,表明操作者需要对该部门下的文员1张三进行多表单的授权,此时订单及客户表单为空白权限(订单和客户表单的所有操作权限:新增、查看、修改、删除、打印等均显示,但不选中),订单及客户表单的操作权限均未被选中(未授权,即不显示被授权角色的这两个表单原来已有的授权情况),然后对文员1张三进行关于订单表单和客户表单中的新增和查看进行授权(选中),保存被授权角色的权限(保存被授权角色对被选中表单的操作权限),即完成对文员1张三对订单表单和客户表单关于新增和查看权限的批量授权(则文员1张三对订单表单和客户表单都拥有了新增和查看权限)。

【实施例4】基于角色的表单操作权限授权方法,包括,选择被授权角色:选择一个或多个角色作为被授权角色,每个角色是独立的个体,而非组/类,同一时段一个角色只能关联唯一的用户,而一个用户关联一个或多个角色;选择表单:选择一个或多个表单,当选择的被授权角色为一个且被选表单为一个时,显示该被授权角色对被选表单现有操作权限状态,被授权角色的被选表单中此前已选中且保存的表单操作权限自动选中;当被授权角色和被选表单中两者任意一者为两个或以上时,显示表单操作权限,该表单操作权限均未被选中;对被授权角色进行表单(被选中表单)操作权限授权:显示表单的所有操作权限,选择一个现有角色或已创建模板作为授权模板,将该授权模板此前已选中且保存的表单操作权限自动选中,并在该授权模板所选中的表单操作权限的基础上进行表单权限的后续操作;在上述步骤完成后,保存被授权角色的权限(保存被授权角色对被选中表单的操作权限)。

如图8所示,操作者选择的被授权角色为一个(总经办部门下的文员1张三),然后被选表单为一个(客户表单),然后操作者选用已创建模板1作为文员1张三的授权模板,文员1张三的表单操作状态便自动选中已创建模板1具有的表单操作权限状态(已创建模板1拥有客户表单的新增权限),并在此基础上进行修改(比如还可以选中修改等权限、或取消/不选中新增权限等操作),便完成利用已创作/创建模板对角色的表单操作权限授权。

以下对通过独立个体性质角色对用户进行授权方式所具备的优势进行分析:用户通过其与角色的关联确定(获得)权限,如果要修改用户的权限,通过调整角色所拥有的权限以达到改变关联了该角色的用户的权限的目的。一旦用户关联角色后,该用户就拥有了该角色的所有操作权限。

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

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

举例:某个公司系统中可创建如下角色:总经理、副总经理1、副总经理2、北京销售一部经理、北京销售二部经理、北京销售三部经理、上海销售工程师1、上海销售工程师2、上海销售工程师3、上海销售工程师4、上海销售工程师5……用户与角色的关联关系:若该公司员工张三任职该公司副总经理2,同时任职北京销售一部经理,则张三需要关联的角色为副总经理2和北京销售一部经理,张三拥有了这两个角色的权限。

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

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

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

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

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

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

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

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

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

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

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

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

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