一种基于作用域的双向权限架构方法及系统与流程



1.本发明涉及互联网技术领域,具体而言,涉及一种基于作用域的双向权限架构方法及系统。


背景技术:



2.随着现代化信息系统的发展,企业级项目系统涵盖的功能点及应用场景也愈加复杂,而随之催生了各式各样的权限架构,其中一种优秀的权限架构基于rabc模型构建,包含了rabc-0,rabc-1,rabc-2,rabc-3等多个版本迭代。即基于橘的访问控制,其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角集合。每一种角对应一组相应的权限。一旦用户被分配了适当的角后,该用户就拥有此角的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角即可,而且角的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。
3.现有技术的缺陷和不足:基于角控制的rabc模型系列虽能通过增加一层角层的绑定以解决权限在用户量增加时的变动,但仍存在一些不足。一是当作用单位较多时,rabc模型无法很好的同时对不同的单位施加不同角权限,往往需要创建较多的冗余角;二是rabc模型仅能对权限的有无进行判断,而对于一些默认应允许,特例应禁止的场景,即黑名单场景,未能有效适应;三是一旦权限或角被分配,无法根据授权人的状态作出相应变更,需要手动变更角才能使得应失效的权限真实失效;四是rabc架构在新增了一层角层的同时,也给业务系统带来了更高的复杂度,使得计算效率变低。


技术实现要素:



4.本发明的目的在于提供一种基于作用域的双向权限架构方法,其能够作用到不同的单位或作用域上,能够根据用户场景需要定制化地实施作用。
5.本发明的另一目的在于提供一种基于作用域的双向权限架构系统,其能够运行一种基于作用域的双向权限架构方法。
6.本发明的实施例是这样实现的:
7.第一方面,本技术实施例提供一种基于作用域的双向权限架构方法,其包括首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;基于权限描述及角描述的关联关系进行权限授权关系描述;描述用户与角的关系,对角的作用域区分;将权限描述通过计算将结果缓存到用户自身。
8.在本发明的一些实施例中,在上述首先进行权限描述,其中,权限描述包括作用域和权限操作的描述之前还包括:根据作用域规划权限和角属性,为权限和角附加作用域系统,并跟随同步化到业务系统自身的作用域。
9.在本发明的一些实施例中,上述首先进行权限描述,其中,权限描述包括作用域和
权限操作的描述包括:在进行权限描述时,对权限本身的可读属性的基础上添加不可读的属性描述。
10.在本发明的一些实施例中,上述还包括:在进行权限描述时,对权限本身的属性“可写”的基础上添加“不可写”的属性描述。
11.在本发明的一些实施例中,上述然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述包括:角描述,包括self-permission和auth-by-other-permission,表示对角所含的自主权限和被授权权限,实现权限分组。
12.在本发明的一些实施例中,上述基于权限描述及角描述的关联关系进行权限授权关系描述包括:基于权限描述及角描述的关联关系进行权限授权关系描述的关联关系描述,包含授权方和被授权方,实现角授权。
13.在本发明的一些实施例中,上述将权限描述通过计算将结果缓存到用户自身包括:通过授权与角的权限绑定以缓存形式存在,当上游权限和/或角发生变化时,下游权限将因权限绑定缓存的更新而同步更新。
14.第二方面,本技术实施例提供一种基于作用域的双向权限架构系统,其包括权限描述模块,用于首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;
15.角描述模块,用于然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;
16.权限授权关系模块,用于基于权限描述及角描述的关联关系进行权限授权关系描述;
17.用户角模块,用于描述用户与角的关系,对角的作用域区分;
18.用户权限模块,用于将权限描述通过计算将结果缓存到用户自身。
19.在本发明的一些实施例中,上述包括:用于存储计算机指令的至少一个存储器;与上述存储器通讯的至少一个处理器,其中当上述至少一个处理器执行上述计算机指令时,上述至少一个处理器使上述系统执行:权限描述模块、角描述模块、权限授权关系模块、用户角模块及用户权限模块。
20.第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如一种基于作用域的双向权限架构方法中任一项的方法。
21.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
22.(1)使得权限能够作用到不同的单位或作用域上,能够根据用户场景需要定制化地实施作用;
23.(2)使得权限能够被双向进行判断,不仅能够正向判断用户应有的权限,还能反向判断用户不应有的权限。以适应一些如所有人应允许访问,但部分“黑名单”人不允许访问的场景;
24.(3)通过为权限本身的属性“可读”、“可写”的基础上添加“不可读”、“不可写”的属性,以达到当某事务的判断权限为“未禁止时允许”时判断用户是否有“不”权限的目的;
25.(4)根据授权方的自身权限状态变更,同步到被授权方,以防出现“授权方已无权限而被授权方仍可继续使用权限”的情况。
附图说明
26.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
27.图1为本发明实施例提供的权限作用算法架构示意图;
28.图2为本发明实施例提供的一种基于作用域的双向权限架构方法详细步骤示意图;
29.图3为本发明实施例提供的一种基于作用域的双向权限架构系统模块示意图;
30.图4为本发明实施例提供的一种电子设备。
31.图标:1-用户;2-职位/职务;3-单位/组织/作用域;4-角;5-用户组;6-权限;10-权限描述模块;20-角描述模块;30-权限授权关系模块;40-用户角模块;50-用户权限模块;101-存储器;102-处理器;103-通信接口。
具体实施方式
32.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
33.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
35.需要说明的是,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
36.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
37.实施例1
38.请参阅图1,图1为本发明实施例提供的权限作用算法架构示意图,其如下所示:
39.本实施例包括用户1、职位/职务2、单位/组织/作用域3、角4、用户组5、权限6。
40.用户1为应用系统中的用户实体,职位/职务2为应用系统中可接受变更的职务或职位。用户1至少拥有1个职位/职务2、有且归属1个单位/组织/作用域3,用户1、职位/职务2、单位/组织/作用域3共同构成用户的身份描述,以此作为权限判断基本单元。角4可以包含多个权限6的描述、可以继承其他角及其包含的权限描述。
41.在一些实施方式中,使得权限能够作用到不同的单位或作用域上,能够根据用户场景需要定制化地实施作用。
42.实现的技术方案是:一种基于作用域的双向权限架构方法,能够根据作用域规划权限和角属性,为角和权限附加作用域系统,并跟随同步化到业务系统自身的作用域,使得权限可以精确化作用。
43.在一些实施方式中,使得权限能够被双向进行判断,不仅能够正向判断用户应有的权限,还能反向判断用户不应有的权限。以适应一些如所有人应允许访问,但部分“黑名单”人不允许访问的场景。
44.实现的技术方案是:通过为权限本身的属性“可读”、“可写”的基础上添加“不可读”、“不可写”的属性,以达到当某事务的判断权限为“未禁止时允许”时判断用户是否有“不”权限的目的。
45.在一些实施方式中,能根据授权方的自身权限状态变更,同步到被授权方,以防出现“授权方已无权限而被授权方仍可继续使用权限”的情况。
46.实现的技术方案是:通过授权与角的权限绑定以缓存形式存在,当上游权限/角发生变化时,下游权限将因权限绑定缓存的更新而同步更新。以实现授权方和被授权方的权限同步。
47.在一些实施方式中,提高权限判断效率,避免因rabc模型所增加的“角”层而产生的二次导航性能损失。
48.实现的技术方案是:通过授权与角的权限绑定以缓存形式存在,当上游权限/角发生变化时,下游权限将因权限绑定缓存的更新而同步更新,通过缓存方式解决问题。
49.实施例2
50.请参阅图2,图2为本发明实施例提供的一种基于作用域的双向权限架构方法详细步骤示意图,其如下所示:
51.步骤s200,首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;
52.在一些实施方式中,权限描述,包含作用域和权限操作的描述,例如permission.log.manage是permission.log的子权限。在进行权限描述时,对权限本身的可读属性的基础上添加不可读的属性描述。在进行权限描述时,对权限本身的属性“可写”的基础上添加“不可写”的属性描述。
53.步骤s210,然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;
54.在一些实施方式中,角描述包含了self-permission和auth-by-other-permission,表示角所含的自主权限和被授权权限,实现了权限分组。
55.步骤s220,基于权限描述及角描述的关联关系进行权限授权关系描述;
56.在一些实施方式中,权限授权关系,是角描述和权限描述的关联关系描述,包含授权方和被授权方,实现了角授权。
57.步骤s230,描述用户与角的关系,对角的作用域区分;
58.在一些实施方式中,用户角是描述用户与角的关系,表述角描述2授权到用户的方式,实现了角的作用域区分。
59.步骤s240,将权限描述通过计算将结果缓存到用户自身。
60.在一些实施方式中,用户权限将权限描述通过计算将结果缓存到用户自身,实现了权限架构的高效实用。
61.实施例3
62.请参阅图3,图3为本发明实施例提供的一种基于作用域的双向权限架构系统模块示意图,其如下所示:
63.权限描述模块10,用于首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;
64.角描述模块20,用于然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;
65.权限授权关系模块30,用于基于权限描述及角描述的关联关系进行权限授权关系描述;
66.用户角模块40,用于描述用户与角的关系,对角的作用域区分;
67.用户权限模块50,用于将权限描述通过计算将结果缓存到用户自身。
68.如图4所示,本技术实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
69.还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
70.其中,存储器101可以是但不限于,随机存取存储器101(random access memory,ram),只读存储器101(read only memory,rom),可编程只读存储器101(programmable read-only memory,prom),可擦除只读存储器101(erasable programmable read-only memory,eprom),电可擦除只读存储器101(electric erasable programmable read-only memory,eeprom)等。
71.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器102,包括中央处理器102(central processing unit,cpu)、网络处理器102(network processor,np)等;还可以是数字信号处理器102(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
72.在本技术所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地
执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
73.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
74.另一方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器101(rom,read-only memory)、随机存取存储器101(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
75.综上所述,本技术实施例提供的一种基于作用域的双向权限架构方法及系统,使得权限能够作用到不同的单位或作用域上,能够根据用户场景需要定制化地实施作用;使得权限能够被双向进行判断,不仅能够正向判断用户应有的权限,还能反向判断用户不应有的权限。以适应一些如所有人应允许访问,但部分“黑名单”人不允许访问的场景;通过为权限本身的属性“可读”、“可写”的基础上添加“不可读”、“不可写”的属性,以达到当某事务的判断权限为“未禁止时允许”时判断用户是否有“不”权限的目的;根据授权方的自身权限状态变更,同步到被授权方,以防出现“授权方已无权限而被授权方仍可继续使用权限”的情况。
76.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
77.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

技术特征:


1.一种基于作用域的双向权限架构方法,其特征在于,包括:首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;基于权限描述及角描述的关联关系进行权限授权关系描述;描述用户与角的关系,对角的作用域区分;将权限描述通过计算将结果缓存到用户自身。2.如权利要求1所述的一种基于作用域的双向权限架构方法,其特征在于,在所述首先进行权限描述,其中,权限描述包括作用域和权限操作的描述之前还包括:根据作用域规划权限和角属性,为权限和角附加作用域系统,并跟随同步化到业务系统自身的作用域。3.如权利要求1所述的一种基于作用域的双向权限架构方法,其特征在于,所述首先进行权限描述,其中,权限描述包括作用域和权限操作的描述包括:在进行权限描述时,对权限本身的可读属性的基础上添加不可读的属性描述。4.如权利要求3所述的一种基于作用域的双向权限架构方法,其特征在于,还包括:在进行权限描述时,对权限本身的属性“可写”的基础上添加“不可写”的属性描述。5.如权利要求1所述的一种基于作用域的双向权限架构方法,其特征在于,所述然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述包括:角描述,包括self-permission和auth-by-other-permission,表示对角所含的自主权限和被授权权限,实现权限分组。6.如权利要求1所述的一种基于作用域的双向权限架构方法,其特征在于,所述基于权限描述及角描述的关联关系进行权限授权关系描述包括:基于权限描述及角描述的关联关系进行权限授权关系描述的关联关系描述,包含授权方和被授权方,实现角授权。7.如权利要求1所述的一种基于作用域的双向权限架构方法,其特征在于,所述将权限描述通过计算将结果缓存到用户自身包括:通过授权与角的权限绑定以缓存形式存在,当上游权限和/或角发生变化时,下游权限将因权限绑定缓存的更新而同步更新。8.一种基于作用域的双向权限架构系统,其特征在于,包括:权限描述模块,用于首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;角描述模块,用于然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;权限授权关系模块,用于基于权限描述及角描述的关联关系进行权限授权关系描述;用户角模块,用于描述用户与角的关系,对角的作用域区分;用户权限模块,用于将权限描述通过计算将结果缓存到用户自身。9.如权利要求8所述的一种基于作用域的双向权限架构系统,其特征在于,包括:用于存储计算机指令的至少一个存储器;与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指
令时,所述至少一个处理器使所述系统执行:权限描述模块、角描述模块、权限授权关系模块、用户角模块及用户权限模块。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。

技术总结


本发明提出了一种基于作用域的双向权限架构方法及系统,涉及互联网技术领域。一种基于作用域的双向权限架构方法包括:首先进行权限描述,其中,权限描述包括作用域和权限操作的描述;然后进行角描述,其中,角描述包括对角所含的自主权限和被授权权限的描述;基于权限描述及角描述的关联关系进行权限授权关系描述;描述用户与角的关系,对角的作用域区分;将权限描述通过计算将结果缓存到用户自身。其能够作用到不同的单位或作用域上,能够根据用户场景需要定制化地实施作用。此外本发明还提出了一种基于作用域的双向权限架构系统,包括:权限描述模块、角描述模块、权限授权关系模块、用户角模块及用户权限模块。限模块。限模块。


技术研发人员:

刘畅 乔可春 李瑞杰

受保护的技术使用者:

刘畅

技术研发日:

2022.08.05

技术公布日:

2022/11/22

本文发布于:2024-09-20 17:18:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/18701.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   角色   作用   用户
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议