发明内容
但是,当公司新员工迅速增多时、在员工的换岗或者更换项目线时,或者在公司新开项目线的时候,都需要大量地设置用户权限,管理员设置权限往往不能及时有效的将权限下达到每一个人,有严重的滞后性。此类重复性工作意义又不大,但是又不得不进行,如果权限***更新不及时,有可能导致用户的工作难以开展,或者信息的泄露。
为此,非常需要一种改进的权限管理方法,以克服权限管理繁琐的问题。
在本上下文中,本发明的实施方式期望提供一种权限管理方法,使权限迅速下发至各个节点,减轻管理员的工作量。
在本发明实施方式的第一方面中,提供了一种权限管理方法,包括获得第一节点向第二节点分配权限的分配请求,基于所述分配请求,确定所述第二节点是否已具有所述权限,以及在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
在本发明的一个实施例中,多个节点之间的授权关系形成树状结构,所述方法还包括,获得所述第一节点对所述权限的授权情况的查询请求,展示所述第一节点在所述树状结构中的子孙节点。
在本发明的另一实施例中,所述方法还包括,获得所述第一节点对第三节点的所述权限的关闭请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点,以及基于所述关闭请求,关闭所述第三节点以及所述第三节点在所述树状结构中的子孙节点的所述权限。
在本发明的又一个实施例中,所述方法还包括,获得所述第一节点对第三节点的所述权限的停止请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点,以及基于所述停止请求,停止所述第三节点的所述权限,而不停止所述第三节点在所述树状结构中的子孙节点的所述权限。
在本发明的再一个实施例中,所述第四节点是所述第一节点的子孙节点,所述方法还包括禁止所述第四节点再将所述权限分配给所述第三节点。
在本发明实施方式的第二方面中,提供了一种权限管理***,包括分配请求模块、权限确定模块以及权限分配模块。分配请求模块,用于获得第一节点向第二节点分配权限的分配请求。权限确定模块,用于基于所述分配请求,确定所述第二节点是否已具有所述权限。权限分配模块,用于在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
在本发明的一个实施例中,多个节点之间的授权关系形成树状结构,所述***还包括查询请求模块和权限展示模块。查询请求模块,用于获得所述第一节点对所述权限的授权情况的查询请求。权限展示模块,用于展示所述第一节点在所述树状结构中的子孙节点。
在本发明的另一个实施例中,所述***还包括,关闭请求模块和权限关闭模块。关闭请求模块,用于获得所述第一节点对第三节点的所述权限的关闭请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点。权限关闭模块,用于基于所述关闭请求,关闭所述第三节点以及所述第三节点在所述树状结构中的子孙节点的所述权限。
在本发明的又一个实施例中,所述***还包括,停止请求模块和权限停止模块。停止请求模块,用于获得所述第一节点对第三节点的所述权限的停止请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点。权限停止模块,用于基于所述停止请求,停止所述第三节点的所述权限,而不停止所述第三节点在所述树状结构中的子孙节点的所述权限。
在本发明的再一个实施例中,所述第四节点是所述第一节点的子孙节点,所述***还包括禁止模块,用于禁止所述第四节点再将所述权限分配给所述第三节点。
在本发明实施方式的第三方面中,提供了一种介质,其上存储有可执行指令,所述指令被处理单元执行时使所述处理单元执行上述任一项所述的方法。
在本发明实施方式的第四方面中,提供了一种电子设备,包括,处理单元,以及存储单元,其上存储有可执行指令,所述指令被所述处理单元执行时使所述处理单元执行如上所述的方法。
根据本发明实施方式的权限管理方法、***以及电子设备,通过节点之间的权限分配,能够使权限迅速下发至各个节点,极大地减轻了管理员的工作量。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种权限管理方法、***、介质和电子设备。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,当公司新员工迅速增多时、在员工的换岗或者更换项目线时,或者在公司新开项目线的时候,都需要大量地设置用户权限,管理员设置权限往往不能及时有效的将权限下达到每一个人,有严重的滞后性。此类重复性工作意义又不大,但是又不得不进行,如果权限***更新不及时,有可能导致用户的工作难以开展,或者信息的泄露。为了解决这一问题,本发明示例性实施例提供了一种权限管理方法,通过节点之间的权限分配,能够使权限迅速下发至各个节点,极大地减轻了管理员的工作量。本发明的关键在于,在授予权限前判断被授予的节点是否已经通过其他节点获得该权限的授权,从而不需要设定二级甚至三级管理员,使所有节点都有授予其他节点权限的可能,极大地提高了工作效率。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1 ,图1示意性地示出了根据本发明实施方式的权限管理方法、***及电子设备的***架构。
如图1所示,***100可以包括多个节点110以及网络120。网络120 用以在多个节点110之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线、无线通信链路等等。节点110例如可以是各个用户的终端设备,但不限于此。***100可以通过本公开实施例的方法实现权限管理方法。
需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
示例性方法
下面结合图1的应用场景,参考图2A~图2C以及图3A~图3I描述根据本发明示例性实施方式的权限管理方法。
图2A示意性地示出了根据本发明示例性实施例的权限管理方法的流程图。
如图2A所示,该方法包括操作S210~S230。
在操作S210,获得第一节点向第二节点分配权限的分配请求。
在操作S220,基于所述分配请求,确定所述第二节点是否已具有所述权限。
在操作S230,在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
在本文中,用户A、用户B1~B4以及用户C1~C2等,例如是在一个组织中的多个用户,因此,在这个组织的网络结构中,用户A、用户B1~B4 以及用户C1~C2等也被称作节点A、节点B1~B4以及节点C1~C2等。其中,节点虽然分别以A、B、C表示,但其地位可以是完全平等的。
如图2B所示,节点A具有权限1~权限N的N个权限,例如,权限1 可以是对某一部分数据的读写权限,权限2可以是对某一项目的处理权限等。根据本发明示例性实施例,节点A可以将自己拥有的N个权限分配给尚未取得该权限的其他节点,例如节点B1~B4。例如,将权限1分配给B1 和B2,将权限2分配给B1、B3和B4等。
在完成如图2B所示的权限分配后,B1获得了权限1、权限2、权限3 以及权限6,B2获得了权限1、权限3、权限5以及权限7。如图2C所示, B1和B2可以继续将自己所拥有的权限分配给尚未取得该权限的其他节点,例如,用户B1将权限1分配给节点C1,将权限2分配给节点B2和C1等。但节点B1不可以将权限1和权限3分配给节点B2,因为节点B2已经有这两个权限了。
在完成如图2C所示的权限分配后,节点B1拥有已有权限(权限1、2、 3、6)和新权限(权限3、7),节点B2拥有已有权限(权限1、3、5、7) 和新权限(权限2、6),节点C1拥有新权限(权限1、2、3、6、7),节点C2拥有新权限(权限3、5、7)。
如此,各个节点都具有分配权限的其他节点的可能,通过节点之间的权限分配,能够使权限迅速下发至各个节点,极大地减轻了管理员的工作量,提高了工作效率。
根据本发明示例性实施例,多个节点之间的授权关系形成树状结构,所述方法还包括,获得所述第一节点对所述权限的授权情况的查询请求,以及展示所述第一节点在所述树状结构中的子孙节点。
图3A~图3D示意性地示出了根据本发明示例性实施例的基于查询请求所展示的子孙节点的示意图。
图3A示意性地示出了根据本发明示例性实施例的基于节点A关于权限1的查询请求所展示的子孙节点的示意图。如图3A所示,节点A将权限1分配给节点B1和B2,节点B1又将权限1分配给C1。在权限1的维度上,节点B1和B2是节点A的子节点,节点C1是节点B1的子节点,节点B1、B2以及C1是节点A的子孙节点。基于节点A关于权限1的查询请求,即节点A作为第一节点,可以展示节点B1、B2、C1以及权限1 的下发路径。
图3B示意性地示出了根据本发明示例性实施例的基于节点A关于权限2的查询请求所展示的子孙节点的示意图。类似地,如图3B所示,节点 A将权限2分配给节点B1,节点B1又将权限2分配给B2和C1。在权限 2的维度上,节点B1是节点A的子节点,节点B2和C1是节点B1的子节点,节点B1、B2以及C1是节点A的子孙节点。基于节点A关于权限2 的查询请求,即节点A作为第一节点,可以展示节点B1、B2、C1以及权限2的下发路径。
图3C示意性地示出了根据本发明示例性实施例的基于节点B1关于权限1的查询请求所展示的子孙节点的示意图。根据本发明示例性实施例,可以限制节点查看其父节点。如图3C所示,在节点B1作为第一节点的情况下,在权限1的维度上,仅有节点C1是节点B1的子节点,因此,仅展示节点C1。
图3D示意性地示出了根据本发明示例性实施例的基于节点B1关于权限2的查询请求所展示的子孙节点的示意图。类似地,如图3D所示,在节点B1作为第一节点的情况下,在权限2的维度上,可以查看节点C1和B2 以及权限2的下发路径。
根据本发明示例性实施例,所述方法还包括,获得所述第一节点对第三节点的所述权限的关闭请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点,以及基于所述关闭请求,关闭所述第三节点以及所述第三节点在所述树状结构中的子孙节点的所述权限。
图3E和图3F示意性地示出了根据本发明示例性实施例的关闭第三节点(节点B1)的示意图。
图3E示意性地示出了根据本发明示例性实施例的节点A关闭权限1 对节点B1的授权的示意图。如图3E所示,由于节点C1的权限1是由节点B1授予的,因此,在节点B1的权限1被关闭的情况下,节点C1作为节点B1的子孙节点,其权限1也相应地被关闭。节点B2不受影响。
图3F示意性地示出了根据本发明示例性实施例的节点A关闭权限2 对节点B1的授权的示意图。如图3F所示,由于节点C1和B2的权限2均是由节点B1授予的,因此,在节点B1的权限2被关闭的情况下,节点C1 和B2作为节点B1的子孙节点,其权限2也相应地被关闭。
根据本发明示例性实施例,所述方法还包括,获得所述第一节点对第三节点的所述权限的停止请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点,以及基于所述停止请求,停止所述第三节点的所述权限,而不停止所述第三节点在所述树状结构中的子孙节点的所述权限。
图3G和图3H示意性地示出了根据本发明示例性实施例的停止第三节点(节点B1)的示意图。
图3G示意性地示出了根据本发明示例性实施例的节点A停止权限1 对节点B1的授权的示意图。如图3G所示,虽然节点C1的权限1是由节点B1授予的,但不同于关闭操作,停止操作并不影响节点B1的子孙节点,因此,在节点B1的权限1被停止的情况下,节点C1和B2均不受影响。
图3H示意性地示出了根据本发明示例性实施例的节点A停止权限2 对节点B1的授权的示意图。类似地,如图3H所示,虽然节点C1和B2 的权限2是由节点B1授予的,但在节点B1被停止的情况下,节点C1和 B2均不受影响。
根据本发明示例性实施例,所述第四节点是所述第一节点的子孙节点,所述方法还包括禁止所述第四节点再将所述权限分配给所述第三节点。
图3I示意性地示出了根据本发明示例性实施例的停止或关闭权限1对节点C1(第三节点)的授权的示意图。如图3I所示,节点C1是节点A(第一节点)的子孙节点,节点B1(第四节点)也是节点A的子孙节点,当节点A停止或关闭权限1对节点C1的授权时,节点B1将被禁止重新将权限 1授权给C1。若节点D具有权限1,且节点D不是节点A的子孙节点,即,节点D的权限1不是由节点A直接或间接地授予的,那么,节点D仍然能够将权限1分配给节点C1,但此时,节点C1不再是节点A的子孙节点,而是节点D的子孙节点。
以上针对权限的查看、停止以及关闭的方法能够精准管理权限,提高***的安全性。
示例性***
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的权限管理***进行说明。
图4示意性地示出了根据本发明示例性实施例的权限管理***400的框图。
如图4所示,权限管理***400包括分配请求模块410、权限确定模块420以及权限分配模块430。
分配请求模块410,例如执行上文参考图2A描述的操作S210,用于获得第一节点向第二节点分配权限的分配请求。
权限确定模块420,例如执行上文参考图2A描述的操作S220,用于基于所述分配请求,确定所述第二节点是否已具有所述权限。
权限分配模块430,例如执行上文参考图2A描述的操作S230,用于在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
根据本发明示例性实施例,多个节点之间的授权关系形成树状结构,所述***还包括查询请求模块和权限展示模块。查询请求模块,用于获得所述第一节点对所述权限的授权情况的查询请求。权限展示模块,用于展示所述第一节点在所述树状结构中的子孙节点。
根据本发明示例性实施例,所述***还包括,关闭请求模块和权限关闭模块。关闭请求模块,用于获得所述第一节点对第三节点的所述权限的关闭请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点。权限关闭模块,用于基于所述关闭请求,关闭所述第三节点以及所述第三节点在所述树状结构中的子孙节点的所述权限。
根据本发明示例性实施例,所述***还包括,停止请求模块和权限停止模块。停止请求模块,用于获得所述第一节点对第三节点的所述权限的停止请求,其中,所述第三节点是所述第一节点在所述树状结构中的子孙节点。权限停止模块,用于基于所述停止请求,停止所述第三节点的所述权限,而不停止所述第三节点在所述树状结构中的子孙节点的所述权限。
根据本发明示例性实施例,所述第四节点是所述第一节点的子孙节点,所述***还包括禁止模块,用于禁止所述第四节点再将所述权限分配给所述第三节点。
根据本发明示例性实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本发明示例性实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本发明示例性实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本发明示例性实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,分配请求模块410、权限确定模块420、权限分配模块430、查询请求模块、权限展示模块、关闭请求模块、权限关闭模块、停止请求模块、权限停止模块以及禁止模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,分配请求模块410、权限确定模块420、权限分配模块430、查询请求模块、权限展示模块、关闭请求模块、权限关闭模块、停止请求模块、权限停止模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列 (PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,分配请求模块410、权限确定模块420、权限分配模块430、查询请求模块、权限展示模块、关闭请求模块、权限关闭模块、停止请求模块、权限停止模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
示例性介质
在介绍了本发明示例性实施方式的***之后,接下来,参考图5对本发明示例性实施方式的一种计算机可读存储介质进行说明。本发明示例性实施方式提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令被处理单元执行时使所述处理单元执行上文所述的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的权限管理方法中的步骤,例如,所述电子设备可以执行如图2A中所示的步骤S210:获得第一节点向第二节点分配权限的分配请求;步骤S220:基于所述分配请求,确定所述第二节点是否已具有所述权限;步骤S230:在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图5所示,描述了根据本发明的实施方式的权限管理的程序产品 500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括一—但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java, C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
示例性电子设备
在介绍了本发明示例性实施方式的方法、***和介质之后,接下来,参考图6对本发明示例性实施方式的权限管理电子设备进行说明。
本发明实施例还提供了一种权限管理电子设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本发明的权限管理的电子设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的权限管理方法中的步骤。例如,所述处理单元可以执行如图 2A中所示的步骤S210:获得第一节点向第二节点分配权限的分配请求;步骤S220:基于所述分配请求,确定所述第二节点是否已具有所述权限;步骤S230:在所述第二节点不具有所述权限的情况下,将所述权限分配给所述第二节点。
下面参照图6来描述根据本发明的这种实施方式的权限管理电子设备 600。如图中600所示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用电子设备的形式表现。电子设备600 的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同***组件(包括存储单元620和处理单元610)的总线 630。
总线630包括数据总线、地址总线和控制总线。
存储单元620可以包括易失性存储器,例如随机存取存储器(RAM) 621和/或高速缓存存储器622,还可以进一步包括只读存储器(ROM)623。
存储单元620还可以包括具有一组(至少一个)程序模块624的程序/实用工具625,这样的程序模块624包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备600也可以与一个或多个外部设备640(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了权限管理***的若干单元/ 模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。