CN113282896A - 权限管理方法及系统 - Google Patents
权限管理方法及系统 Download PDFInfo
- Publication number
- CN113282896A CN113282896A CN202110651124.6A CN202110651124A CN113282896A CN 113282896 A CN113282896 A CN 113282896A CN 202110651124 A CN202110651124 A CN 202110651124A CN 113282896 A CN113282896 A CN 113282896A
- Authority
- CN
- China
- Prior art keywords
- user
- authority
- resource
- tree
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000010276 construction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000013523 data management Methods 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种权限管理方法及系统,涉及数据管理技术领域,能够满足灵活复杂的权限控制需要,支持细粒度的数据权限管理模式。该方法包括:根据用户角色以及与用户角色对应的操作权限构建权限树,权限树用于反映用户角色与操作权限的关系;根据用户属性以及与用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,资源树用于反映用户属性与数据权限的关系;获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。该系统运行有上述方案所提的方法。
Description
技术领域
本发明涉及数据管理技术领域,尤其涉及一种权限管理方法及系统。
背景技术
在企业实际的生产环境中,每个员工都有不同的职责,也就意味有着不同的权限范围。那么就需要有一个系统来统一管理所有员工的权限,现在市面上,大多数公司都采用了基于角色控制的RBAC模式或者是基于属性控制的ABAC模式。如图2所示,RBAC模式不是对系统的各种权限直接赋予具体的用户,而是在用户集合与权限之间建立了一个角色集合。每一种角色对应一组相应的权限,一旦用户被分配某一个角色后,该用户可以获得此角色的所有操作权限。如图3所示,ABAC模式则是通过动态将一个或一组属性来判断是否满足设定的条件来进行判断是否能授权,属性一般分为用户属性、环境属性、操作属性以及对象属性也称为资源属性。RBAC模式的好处在于不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。而ABAC模型的权限控制非常灵活,只需要改动权限控制条件就可以满足不同条件的权限控制,满足不同的权限需求。
虽然说RBAC模式是常见的权限管理模式,但其权限实现方式较为简单,在实际的生产中如需要满足灵活复杂的权限控制场景就会显得力不从心,另外,RBAC模式有角色膨胀的问题,当一类用户与另一类用户百分之九十以上的权限是重合的,但是由于其中百分之十的差异,就需要为这两类用户分别建不同的角色,在公司生产生活中,角色的增长将会呈几何数的增长,极大地增加了管理员人员的维护成本,用户在申请权限时也会因角色之间的细微差异而无法区分。当然ABAC模式的缺点也显而易见,由于权限太过于灵活,导致权限逻辑的设置过于复杂,一旦用户量及权限数量大规模上升时,权限管理的复杂程度将会大大提高。
发明内容
本发明的目的在于提供一种权限管理方法及系统,能够满足灵活复杂的权限控制需要,支持细粒度的数据权限管理模式。
为了实现上述目的,本发明的第一方面提供一种权限管理方法,包括:
根据用户角色以及与所述用户角色对应的操作权限构建权限树,所述权限树用于反映用户角色与操作权限的关系;
根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,所述资源树用于反映用户属性与数据权限的关系;
获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;
通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
优选地,根据用户角色以及与所述用户角色对应的角色权限关系构建权限树,所述权限树用于反映用户角色与操作权限的关系之前还包括:
预设多种与权限管理场景一一对应的资源类型,各所述资源类型包括至少一个权限树模板以及至少一个资源树模板。
较佳地,还包括:
将所述权限树模板和所述资源树模板按资源类型分类保存于服务器中,并使所述服务器与用户的客户端保持连接访问关系;
根据用户的权限管理场景关联相应用户的客户端,以向客户端推荐相应的所述权限树模板和所述资源树模板进行权限配置。
优选地,根据用户角色以及与所述用户角色对应的操作权限构建权限树的方法包括:
依据用户角色的所属关系,分别在每个权限树的节点中设置与用户角色对应的操作权限关系,构建各节点的角色权限关系。
较佳地,根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件的方法包括:
根据用户属性及对应的数据权限关系,分别在每个资源树的节点中设置与用户属性对应的数据权限关系,构建各节点的数据权限关系;
分别在资源树的各节点中匹配相应的资源文件,以使所述节点仅能提供与用户属性相匹配的资源文件。
进一步地,获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径的方法包括:
服务器解析客户端发送的用户请求,得到至少一个用户角色和至少一个用户属性;
将解析出的用户角色与权限树中的节点对应串联得到权限路径;
将解析出的用户属性与资源树中的节点对应串联得到资源路径。
进一步地,通过权限路径和资源路径,向用户提供相应的操作权限和数据权限的方法包括:
基于权限路径向用户提供路径节点中资源的操作权限,以及基于资源路径向用户提供路径节点中资源的数据权限。
示例性地,所述操作权限包括对资源的写入、查看、修改或访问操作,所述数据权限的体现在于获取的数据内容不同。
与现有技术相比,本发明提供的权限管理方法具有以下有益效果:
本发明提供的权限管理方法中,首先根据需求提前构建权限树和资源树,然后将解析出的用户角色在权限树中匹配构建权限路径,以及将解析出的用户属性在资源树中匹配构建资源路径,最终结合权限路径和资源路径向用户提供一定的管理权限。
可见,本发明在结合RBAC角色控制权限方式和ABAC属性控制权限方式的基础之上引入资源树概念,通过把所有管理的数据统称为资源,并将资源按照数据权限管理层级进行划分形成资源树,以实现精准的权限控制逻辑。另外,对于用户请求的判断综合了两个维度的权限判断过程,一是判段用户是否有操作权限,另一个是判断用户是否有数据权限,通过综合分析后才提供给用户一个适配的控制权限。相较于现有技术中单一的权限控制方案,本发明通过权限树以及资源树的关联设置,使得权限管理更加灵活,且权限管理的复杂度大大降低,提供了更细粒度的权限管理方案。
本发明的第二方面提供一种权限管理系统,应用于上述技术方案所述的权限管理方法中,所述系统包括:
权限树构建单元,用于根据用户角色以及与所述用户角色对应的操作权限构建权限树,所述权限树用于反映用户角色与操作权限的关系;
资源树构建单元,用于根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,所述资源树用于反映用户属性与数据权限的关系;
请求获取单元,用于获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;
解析单元,用于通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
与现有技术相比,本发明提供的权限管理系统的有益效果与上述技术方案提供的权限管理方法的有益效果相同,在此不做赘述。
本发明的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述权限管理方法的步骤。
与现有技术相比,本发明提供的计算机可读存储介质的有益效果与上述技术方案提供的权限管理方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中权限管理方法的流程示意图;
图2为现有技术中RBAC角色控制权限方式的示例图;
图3为现有技术中ABAC属性控制权限方式的示例图;
图4为本发明实施例中结合了RBAC角色控制权限方式和ABAC属性控制权限方式的权限管理示例图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1,本实施例提供一种权限管理方法,包括:
根据用户角色以及与用户角色对应的操作权限构建权限树,权限树用于反映用户角色与操作权限的关系;根据用户属性以及与用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,资源树用于反映用户属性与数据权限的关系;获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
本实施例提供的权限管理方法中,首先根据需求提前构建权限树和资源树,然后将解析出的用户角色在权限树中匹配构建权限路径,以及将解析出的用户属性在资源树中匹配构建资源路径,最终结合权限路径和资源路径向用户提供一定的管理权限。
可见,本实施例在结合RBAC角色控制权限方式和ABAC属性控制权限方式的基础之上引入资源树概念,通过把所有管理的数据统称为资源,并将资源按照数据权限管理层级进行划分形成资源树,以实现精准的权限控制逻辑。另外,对于用户请求的判断综合了两个维度的权限判断过程,一是判段用户是否有操作权限,另一个是判断用户是否有数据权限,通过综合分析后才提供给用户一个适配的控制权限。相较于现有技术中单一的权限控制方案,本实施例通过权限树以及资源树的关联设置,使得权限管理更加灵活,且权限管理的复杂度大大降低,提供了更细粒度的权限管理方案。
上述实施例,根据用户角色以及与所述用户角色对应的角色权限关系构建权限树,所述权限树用于反映用户角色与操作权限的关系之前还包括:
预设多种与权限管理场景一一对应的资源类型,各所述资源类型包括至少一个权限树模板以及至少一个资源树模板。
上述实施例还包括:将权限树模板和资源树模板按资源类型分类保存于服务器中,并使服务器与用户的客户端保持连接访问关系;根据用户的权限管理场景关联相应用户的客户端,以向客户端推荐相应的权限树模板和资源树模板进行权限配置。
具体实施时,权限管理场景可以包括针对应用的权限管理场景、针对数据库的权限管理场景、针对运营平台的权限管理场景以及针对数据表的权限管理场景等,不同权限管理场景下对应的资源类型不同,也即对应的权限树模板和资源树模板不同,每一种对应的资源类型都需提前设置好相应的权限树模板以及资源树模板,通过将不同资源类型对应的权限树模板和资源树模板按照资源类型分类保存在服务器中,管理员通过客户端与服务器联网,以便管理员根据权限管理需求对应调用并配置,进而能够加快针对不同权限管理场景下权限树的构建。
上述实施例中,根据用户角色以及与用户角色对应的操作权限构建权限树的方法包括:
依据用户角色的所属关系,分别在权限树的每个节点中设置与用户角色对应的操作权限关系,构建各节点的角色权限关系。
具体实施时,权限树的节点呈树状分布结构,其中的每个节点代表一个用户角色,也即代表一种操作权限,通过获取用户名下所对应的全部用户角色,然后将每个用户角色在权限树中对应匹配,最终可形成能够反映用户角色全部权限的权限路径。可见,本实施例不仅能够实现对RBAC模式基于角色权限控制优势的兼容,而且通过权限树的设置还可实现对用户角色的快速匹配,简化了基于角色权限控制的逻辑,增加了权限控制的灵活性。示例性地,权限树由一系列需做权限控制的组件构成,例如,API,菜单,按钮,页面元素等。
上述实施例中,根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件的方法包括:
根据用户属性及对应的数据权限关系,分别在每个资源树的节点中设置与用户属性对应的数据权限关系,构建各节点的数据权限关系;分别在资源树的各节点中匹配相应的资源文件,以使所述节点仅能提供与用户属性相匹配的资源文件。
具体实施时,为每一个资源类型创建资源树,对要控制的数据,按照其控制的逻辑粒度,自上而下建立树结构,最常见的是按照公司组织架构建立,也可以其他方式,例如按照文件夹层级,按照地区划分等等,可完全按照自己的需求建立。然后在资源树上挂载需要控制的资源,例如文件资源,数据资源等。最终通过关联资源数与权限树,赋予用户角色相关的操作权限和资源权限。
上述实施例中,获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径的方法包括:
服务器解析客户端发送的用户请求,得到至少一个用户角色和至少一个用户属性;将解析出的用户角色与权限树中的节点对应串联得到权限路径;将解析出的用户属性与资源树中的节点对应串联得到资源路径。
具体实施时,通过权限路径和资源路径,向用户提供相应的操作权限和数据权限的方法包括:
基于权限路径向用户提供路径节点中资源的操作权限,以及基于资源路径向用户提供路径节点中资源的数据权限。
示例性地,上述实施例中的操作权限包括对资源的写入、查看、修改或访问操作,数据权限的体现在于获取的数据内容不同。
为便于理解,现对上述实施例做示例性说明:
步骤一:根据用户要进行的操作,例如用户需要查看报表,并且用户有对应报表查询的角色,系统即可将该角色授权给用户,用户即有了查看报表的操作的权限。
步骤二:赋权用户报表资源的授权范围,例如xx公司/xx部门/xx小组/,即用户的资源树路径,使用户获得查看xx公司/xx部门/xx小组下的报表资源的数据权限。
更进一步地,如图4所示,假设用户1和用户2均具有角色1的权限,也即具有相同的查看文件的操作权限,但是用户1和用户2的数据权限不同,用户1具有资信文件数据的查看权限,用户2具有风险文件数据的查看权限,故虽然用户1和用户2均均有查看文件的操作权限,但其所查看到的数据内容是不相同的。再假设,用户1和用户2均具有相同的查看报表的操作权限,但是用户1和用户2的数据权限不同,用户1只能查看到华南地区的报表数据,用户2只能查看到华中地区的报表数据限。可以,用户1和用户2的具体权限是受到操作权限和数据权限双重影响限制的,也即本实施例综合了ABAC模式和RBAC模式的优势逻辑,并结合资源树和权限树的快速匹配机制,能够实现通过路径来界定用户的权限范围,进而实现灵活且更细粒度的权限控制。
实施例二
本实施例提供一种权限管理系统,包括:
权限树构建单元,用于根据用户角色以及与所述用户角色对应的操作权限构建权限树,所述权限树用于反映用户角色与操作权限的关系;
资源树构建单元,用于根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,所述资源树用于反映用户属性与数据权限的关系;
请求获取单元,用于获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;
解析单元,用于通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
与现有技术相比,本发明实施例提供的权限管理系统的有益效果与上述实施例一提供的权限管理方法的有益效果相同,在此不做赘述。
上述实施例,根据用户角色以及与所述用户角色对应的角色权限关系构建权限树,所述权限树用于反映用户角色与操作权限的关系之前还包括:
预设多种与权限管理场景一一对应的资源类型,各所述资源类型包括至少一个权限树模板以及至少一个资源树模板。
上述实施例还包括:将权限树模板和资源树模板按资源类型分类保存于服务器中,并使服务器与用户的客户端保持连接访问关系;根据用户的权限管理场景关联相应用户的客户端,以向客户端推荐相应的权限树模板和资源树模板进行权限配置。
具体实施时,权限管理场景可以包括针对应用的权限管理场景、针对数据库的权限管理场景、针对运营平台的权限管理场景以及针对数据表的权限管理场景等,不同权限管理场景下对应的资源类型不同,也即对应的权限树模板和资源树模板不同,每一种对应的资源类型都需提前设置好相应的权限树模板以及资源树模板,通过将不同资源类型对应的权限树模板和资源树模板按照资源类型分类保存在服务器中,管理员通过客户端与服务器联网,以便管理员根据权限管理需求对应调用并配置,进而能够加快针对不同权限管理场景下权限树的构建。
上述实施例中,根据用户角色以及与用户角色对应的操作权限构建权限树的方法包括:
依据用户角色的所属关系,分别在权限树的每个节点中设置与用户角色对应的操作权限关系,构建各节点的角色权限关系。
具体实施时,权限树的节点呈树状分布结构,其中的每个节点代表一个用户角色,也即代表一种操作权限,通过获取用户名下所对应的全部用户角色,然后将每个用户角色在权限树中对应匹配,最终可形成能够反映用户角色全部权限的权限路径。可见,本实施例不仅能够实现对RBAC模式基于角色权限控制优势的兼容,而且通过权限树的设置还可实现对用户角色的快速匹配,简化了基于角色权限控制的逻辑,增加了权限控制的灵活性。示例性地,权限树由一系列需做权限控制的组件构成,例如,API,菜单,按钮,页面元素等。
上述实施例中,根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件的方法包括:
根据用户属性及对应的数据权限关系,分别在每个资源树的节点中设置与用户属性对应的数据权限关系,构建各节点的数据权限关系;分别在资源树的各节点中匹配相应的资源文件,以使所述节点仅能提供与用户属性相匹配的资源文件。
具体实施时,为每一个资源类型创建资源树,对要控制的数据,按照其控制的逻辑粒度,自上而下建立树结构,最常见的是按照公司组织架构建立,也可以其他方式,例如按照文件夹层级,按照地区划分等等,可完全按照自己的需求建立。然后在资源树上挂载需要控制的资源,例如文件资源,数据资源等。最终通过关联资源数与权限树,赋予用户角色相关的操作权限和资源权限。
上述实施例中,获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径的方法包括:
服务器解析客户端发送的用户请求,得到至少一个用户角色和至少一个用户属性;将解析出的用户角色与权限树中的节点对应串联得到权限路径;将解析出的用户属性与资源树中的节点对应串联得到资源路径。
具体实施时,通过权限路径和资源路径,向用户提供相应的操作权限和数据权限的方法包括:
基于权限路径向用户提供路径节点中资源的操作权限,以及基于资源路径向用户提供路径节点中资源的数据权限。
示例性地,上述实施例中的操作权限包括对资源的写入、查看、修改或访问操作,数据权限的体现在于获取的数据内容不同。
为便于理解,现对上述实施例做示例性说明:
步骤一:根据用户要进行的操作,例如用户需要查看报表,并且用户有对应报表查询的角色,系统即可将该角色授权给用户,用户即有了查看报表的操作的权限。
步骤二:赋权用户报表资源的授权范围,例如xx公司/xx部门/xx小组/,即用户的资源树路径,使用户获得查看xx公司/xx部门/xx小组下的报表资源的数据权限。
更进一步地,如图4所示,假设用户1和用户2均具有角色1的权限,也即具有相同的查看文件的操作权限,但是用户1和用户2的数据权限不同,用户1具有资信文件数据的查看权限,用户2具有风险文件数据的查看权限,故虽然用户1和用户2均均有查看文件的操作权限,但其所查看到的数据内容是不相同的。再假设,用户1和用户2均具有相同的查看报表的操作权限,但是用户1和用户2的数据权限不同,用户1只能查看到华南地区的报表数据,用户2只能查看到华中地区的报表数据限。可以,用户1和用户2的具体权限是受到操作权限和数据权限双重影响限制的,也即本实施例综合了ABAC模式和RBAC模式的优势逻辑,并结合资源树和权限树的快速匹配机制,能够实现通过路径来界定用户的权限范围,进而实现灵活且更细粒度的权限控制。
实施例三
在本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据用户角色以及与用户角色对应的操作权限构建权限树,权限树用于反映用户角色与操作权限的关系;根据用户属性以及与用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,资源树用于反映用户属性与数据权限的关系;获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
在一个实施方式中,计算机程序被处理器执行,还实现以下步骤:
根据用户角色以及与所述用户角色对应的角色权限关系构建权限树,所述权限树用于反映用户角色与操作权限的关系之前还包括:
预设多种与权限管理场景一一对应的资源类型,各所述资源类型包括至少一个权限树模板以及至少一个资源树模板。
还包括:将权限树模板和资源树模板按资源类型分类保存于服务器中,并使服务器与用户的客户端保持连接访问关系;根据用户的权限管理场景关联相应用户的客户端,以向客户端推荐相应的权限树模板和资源树模板进行权限配置。
具体实施时,权限管理场景可以包括针对应用的权限管理场景、针对数据库的权限管理场景、针对运营平台的权限管理场景以及针对数据表的权限管理场景等,不同权限管理场景下对应的资源类型不同,也即对应的权限树模板和资源树模板不同,每一种对应的资源类型都需提前设置好相应的权限树模板以及资源树模板,通过将不同资源类型对应的权限树模板和资源树模板按照资源类型分类保存在服务器中,管理员通过客户端与服务器联网,以便管理员根据权限管理需求对应调用并配置,进而能够加快针对不同权限管理场景下权限树的构建。
根据用户角色以及与用户角色对应的操作权限构建权限树的方法包括:
依据用户角色的所属关系,分别在权限树的每个节点中设置与用户角色对应的操作权限关系,构建各节点的角色权限关系。
具体实施时,权限树的节点呈树状分布结构,其中的每个节点代表一个用户角色,也即代表一种操作权限,通过获取用户名下所对应的全部用户角色,然后将每个用户角色在权限树中对应匹配,最终可形成能够反映用户角色全部权限的权限路径。可见,本实施例不仅能够实现对RBAC模式基于角色权限控制优势的兼容,而且通过权限树的设置还可实现对用户角色的快速匹配,简化了基于角色权限控制的逻辑,增加了权限控制的灵活性。示例性地,权限树由一系列需做权限控制的组件构成,例如,API,菜单,按钮,页面元素等。
根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件的方法包括:
根据用户属性及对应的数据权限关系,分别在每个资源树的节点中设置与用户属性对应的数据权限关系,构建各节点的数据权限关系;分别在资源树的各节点中匹配相应的资源文件,以使所述节点仅能提供与用户属性相匹配的资源文件。
具体实施时,为每一个资源类型创建资源树,对要控制的数据,按照其控制的逻辑粒度,自上而下建立树结构,最常见的是按照公司组织架构建立,也可以其他方式,例如按照文件夹层级,按照地区划分等等,可完全按照自己的需求建立。然后在资源树上挂载需要控制的资源,例如文件资源,数据资源等。最终通过关联资源数与权限树,赋予用户角色相关的操作权限和资源权限。
获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径的方法包括:
服务器解析客户端发送的用户请求,得到至少一个用户角色和至少一个用户属性;将解析出的用户角色与权限树中的节点对应串联得到权限路径;将解析出的用户属性与资源树中的节点对应串联得到资源路径。
具体实施时,通过权限路径和资源路径,向用户提供相应的操作权限和数据权限的方法包括:
基于权限路径向用户提供路径节点中资源的操作权限,以及基于资源路径向用户提供路径节点中资源的数据权限。
示例性地,上述实施例中的操作权限包括对资源的写入、查看、修改或访问操作,数据权限的体现在于获取的数据内容不同。
为便于理解,现对上述实施例做示例性说明:
步骤一:根据用户要进行的操作,例如用户需要查看报表,并且用户有对应报表查询的角色,系统即可将该角色授权给用户,用户即有了查看报表的操作的权限。
步骤二:赋权用户报表资源的授权范围,例如xx公司/xx部门/xx小组/,即用户的资源树路径,使用户获得查看xx公司/xx部门/xx小组下的报表资源的数据权限。
更进一步地,如图4所示,假设用户1和用户2均具有角色1的权限,也即具有相同的查看文件的操作权限,但是用户1和用户2的数据权限不同,用户1具有资信文件数据的查看权限,用户2具有风险文件数据的查看权限,故虽然用户1和用户2均均有查看文件的操作权限,但其所查看到的数据内容是不相同的。再假设,用户1和用户2均具有相同的查看报表的操作权限,但是用户1和用户2的数据权限不同,用户1只能查看到华南地区的报表数据,用户2只能查看到华中地区的报表数据限。可以,用户1和用户2的具体权限是受到操作权限和数据权限双重影响限制的,也即本实施例综合了ABAC模式和RBAC模式的优势逻辑,并结合资源树和权限树的快速匹配机制,能够实现通过路径来界定用户的权限范围,进而实现灵活且更细粒度的权限控制。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种权限管理方法,其特征在于,包括:
根据用户角色以及与所述用户角色对应的操作权限构建权限树,所述权限树用于反映用户角色与操作权限的关系;
根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,所述资源树用于反映用户属性与数据权限的关系;
获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;
通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
2.根据权利要求1所述的方法,其特征在于,根据用户角色以及与所述用户角色对应的角色权限关系构建权限树,所述权限树用于反映用户角色与操作权限的关系之前还包括:
预设多种与权限管理场景一一对应的资源类型,各所述资源类型包括至少一个权限树模板以及至少一个资源树模板。
3.根据权利要求2所述的方法,其特征在于,还包括:
将所述权限树模板和所述资源树模板按资源类型分类保存于服务器中,并使所述服务器与用户的客户端保持连接访问关系;
根据用户的权限管理场景关联相应用户的客户端,以向客户端推荐相应的所述权限树模板和所述资源树模板进行权限配置。
4.根据权利要求1所述的方法,其特征在于,根据用户角色以及与所述用户角色对应的操作权限构建权限树的方法包括:
依据用户角色的所属关系,分别在权限树的每个节点中设置与用户角色对应的操作权限关系,构建各节点的角色权限关系。
5.根据权利要求4所述的方法,其特征在于,根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件的方法包括:
根据用户属性及对应的数据权限关系,分别在每个资源树的节点中设置与用户属性对应的数据权限关系,构建各节点的数据权限关系;
分别在资源树的各节点中匹配相应的资源文件,以使所述节点仅能提供与用户属性相匹配的资源文件。
6.根据权利要求5所述的方法,其特征在于,获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径的方法包括:
服务器解析客户端发送的用户请求,得到至少一个用户角色和至少一个用户属性;
将解析出的用户角色与权限树中的节点对应串联得到权限路径;
将解析出的用户属性与资源树中的节点对应串联得到资源路径。
7.根据权利要求6所述的方法,其特征在于,通过权限路径和资源路径,向用户提供相应的操作权限和数据权限的方法包括:
基于权限路径向用户提供路径节点中资源的操作权限,以及基于资源路径向用户提供路径节点中资源的数据权限。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述操作权限包括对资源的写入、查看、修改或访问操作,所述数据权限的体现在于获取的数据内容不同。
9.一种权限管理系统,其特征在于,包括:
权限树构建单元,用于根据用户角色以及与所述用户角色对应的操作权限构建权限树,所述权限树用于反映用户角色与操作权限的关系;
资源树构建单元,用于根据用户属性以及与所述用户属性对应的数据权限关系构建资源树,并在资源树的各个节点挂载相应的资源文件,所述资源树用于反映用户属性与数据权限的关系;
请求获取单元,用于获取用户请求,基于用户角色从权限树中解析出与用户适配的权限路径,以及基于用户属性从资源树中解析出与用户适配的资源路径;
解析单元,用于通过权限路径和资源路径,向用户提供相应的操作权限和数据权限。
10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651124.6A CN113282896A (zh) | 2021-06-11 | 2021-06-11 | 权限管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651124.6A CN113282896A (zh) | 2021-06-11 | 2021-06-11 | 权限管理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282896A true CN113282896A (zh) | 2021-08-20 |
Family
ID=77284317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110651124.6A Pending CN113282896A (zh) | 2021-06-11 | 2021-06-11 | 权限管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282896A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114662134A (zh) * | 2022-05-19 | 2022-06-24 | 深圳市瓴码云计算有限公司 | 一种权限管理方法及系统 |
US20230122504A1 (en) * | 2021-10-20 | 2023-04-20 | Dell Products L.P. | Common Access Management Across Role-Based Access Control and Attribute-Based Access Control |
CN116186652A (zh) * | 2022-12-22 | 2023-05-30 | 博上(山东)网络科技有限公司 | 一种权限管理方法、系统、设备及可读存储介质 |
CN117077120A (zh) * | 2023-10-18 | 2023-11-17 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436195A (zh) * | 2008-10-30 | 2009-05-20 | 东软集团股份有限公司 | 在Web用户界面中生成资源访问入口的方法及系统 |
CN109286579A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种用户资源的分配方法、装置及计算机可读存储介质 |
CN111935131A (zh) * | 2020-08-06 | 2020-11-13 | 中国工程物理研究院计算机应用研究所 | 一种基于资源权限树的SaaS资源访问控制方法 |
CN112182622A (zh) * | 2020-10-12 | 2021-01-05 | 上海赛可出行科技服务有限公司 | 一种基于资源控制的权限管理系统设计方法 |
-
2021
- 2021-06-11 CN CN202110651124.6A patent/CN113282896A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436195A (zh) * | 2008-10-30 | 2009-05-20 | 东软集团股份有限公司 | 在Web用户界面中生成资源访问入口的方法及系统 |
CN109286579A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种用户资源的分配方法、装置及计算机可读存储介质 |
CN111935131A (zh) * | 2020-08-06 | 2020-11-13 | 中国工程物理研究院计算机应用研究所 | 一种基于资源权限树的SaaS资源访问控制方法 |
CN112182622A (zh) * | 2020-10-12 | 2021-01-05 | 上海赛可出行科技服务有限公司 | 一种基于资源控制的权限管理系统设计方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230122504A1 (en) * | 2021-10-20 | 2023-04-20 | Dell Products L.P. | Common Access Management Across Role-Based Access Control and Attribute-Based Access Control |
CN114662134A (zh) * | 2022-05-19 | 2022-06-24 | 深圳市瓴码云计算有限公司 | 一种权限管理方法及系统 |
CN116186652A (zh) * | 2022-12-22 | 2023-05-30 | 博上(山东)网络科技有限公司 | 一种权限管理方法、系统、设备及可读存储介质 |
CN116186652B (zh) * | 2022-12-22 | 2024-01-02 | 博上(山东)网络科技有限公司 | 一种权限管理方法、系统、设备及可读存储介质 |
CN117077120A (zh) * | 2023-10-18 | 2023-11-17 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
CN117077120B (zh) * | 2023-10-18 | 2024-02-09 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282896A (zh) | 权限管理方法及系统 | |
CN109688120B (zh) | 基于改进RBAC模型及Spring Security框架的动态权限管理系统 | |
US7913161B2 (en) | Computer-implemented methods and systems for electronic document inheritance | |
US20110047125A1 (en) | Configuration item management device and configuration item management method | |
DE202011110377U1 (de) | System eines hierarchischen Metadaten Managements und Anwendung | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
CN110348183B (zh) | 基于rbac的可快速配置的权限配置系统、方法和存储介质 | |
CN113505996A (zh) | 权限管理方法及装置 | |
CN114065296A (zh) | 基于拦截器的权限控制方法、装置、计算机设备及介质 | |
CN114143069B (zh) | 一种应用于微服务的权限管理系统及方法 | |
CN113255000A (zh) | 数据访问控制方法、装置、电子设备及可读存储介质 | |
US20240007458A1 (en) | Computer user credentialing and verification system | |
CN111752539B (zh) | Bi服务集群系统及其搭建方法 | |
CN105243337A (zh) | 权限控制系统及方法 | |
CN113722725A (zh) | 一种资源数据的获取方法及系统 | |
CN116720206A (zh) | 一种权限管理方法、装置、电子设备及存储介质 | |
CN111611220A (zh) | 一种基于层级式节点的文件共享方法及系统 | |
CN115174177B (zh) | 权限管理方法、装置、电子设备、存储介质和程序产品 | |
CN117014175A (zh) | 云系统的权限处理方法、装置、电子设备及存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
US11609770B2 (en) | Co-managing links with a link platform and partner service | |
CN111881475B (zh) | 一种基于权限关联选择角色权限的方法 | |
CN110348184B (zh) | 基于工业云的权限资源配置方法、系统和存储介质 | |
US20120216240A1 (en) | Providing data security through declarative modeling of queries | |
CN110532533B (zh) | 表格精度配置化方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |