角色权限的动态控制方法及系统技术方案

技术编号:13039249 阅读:52 留言:0更新日期:2016-03-23 10:49
本发明专利技术提供一种角色权限的动态控制方法及系统,其中的方法包括:根据角色获取角色所对应的模块的各权限;对模块的各权限进行修改、保存;修改模块的各权限包括按照2的幂级分别对模块的各权限进行赋值,对模块赋值后的各权限进行选择;对选择出的权限进行权限值求和,并将求得的和值保存在预设的对应关系表中,对应关系表具有角色、模块、权限三者间的对应关系;根据角色获取角色所对应的模块的各权限的权限值;将模块的各权限的权限值分别与保存在对应关系表中的和值进行按位与运算,在运算后得出的某个值与模块的某个权限的权限值相同时,加载与该权限值对应的模块的权限。利用本发明专利技术能够实现实时更改用户角色在模块中的权限的功能。

【技术实现步骤摘要】

本专利技术涉及系统对象属性动态实时控制
,更为具体地,涉及一种角色权 限的动态控制方法及系统。
技术介绍
在一个系统中,会按照权限将用户划分为不同的角色,每个角色分配不同的权限。 在实际的系统设计中,系统分为不同的模块,同一个角色在不同的模块中会有不同的权限, 而且这些权限的设置并不是一成不变的,是随着系统或实际业务需求的变化而不断变化 的。因此,需要能够对用户角色在不同模块中的权限进行实时更改,而现有的系统设计中, 还未实现对用户角色在不同模块中的权限进行实时更改的功能。
技术实现思路
鉴于上述问题,本专利技术的目的是提供一种角色权限的动态控制方法及系统,以解 决现有系统中无法对处于不同模块中用户角色的权限进行实时更改的问题。 本专利技术提供一种角色权限的动态控制方法,包括角色权限修改阶段和角色权限加 载阶段; 角色权限修改阶段,包括: 根据角色获取角色所对应的模块的各权限; 对模块的各权限进行修改、保存;其中,修改模块的各权限包括:按照2的幂级分 别对模块的各权限进行赋值,以及,对模块赋值后的的各权限进行选择; 对选择出的权限进行权限值求和,并将求得的和值保存在预设的对应关系表中, 对应关系表具有角色、模块、权限三者间的对应关系; 角色权限加载阶段,包括: 根据角色获取角色所对应的模块的各权限的权限值; 将模块的各权限的权限值分别与保存在对应关系表中的和值进行按位与运算,在 运算后得出的某个值与模块的某个权限的权限值相同时,加载与该权限值对应的模块的权 限。 本专利技术还提供一种角色权限的动态控制系统,包括: 权限获取单元,用于根据角色获取角色所对应的模块的各权限; 权限修改单元,用于对模块的各权限进行修改;其中,权限修改单元包括权限赋值 模块和权限选择模块;权限赋值模块用于按照2的幂级分别对模块的各权限进行赋值,权 限选择模块用于对模块赋值后的各权限进行选择; 权限保存单元,用于对修改后的模块的各权限进行保存; 权限值求和单元,用于对选择出的权限进行权限值求和,并将求得的和值保存在 预设的对应关系表中,对应关系表具有角色、模块、权限三者间的对应关系; 权限值获取单元,用于根据角色获取角色所对应的模块的各权限的权限值; 权限值运算单元,用于将模块的各权限的权限值分别与保存在对应关系表中的和 值进行按位与运算; 权限加载单元,用于在运算后得出的某个值与模块的某个权限的权限值相同时, 加载与该权限值对应的模块的权限。 利用上述根据本专利技术的角色权限的动态控制方法及系统,依据2的幂级的特点对 用户角色在模块中的各个权限进行赋值,通过权限的选择、结合权限值的按位与的运算,实 现实时更改用户角色在模块中的权限的功能。 为了实现上述以及相关目的,本专利技术的一个或多个方面包括后面将详细说明并在 权利要求中特别指出的特征。下面的说明以及附图详细说明了本专利技术的某些示例性方面。 然而,这些方面指示的仅仅是可使用本专利技术的原理的各种方式中的一些方式。此外,本专利技术 旨在包括所有这些方面以及它们的等同物。【附图说明】 通过参考以下结合附图的说明及权利要求书的内容,并且随着对本专利技术的更全面 理解,本专利技术的其它目的及结果将更加明白及易于理解。在附图中: 图1为根据本专利技术实施例的角色权限的动态控制方法的流程示意图; 图2为根据本专利技术实施例的角色权限的动态控制系统的逻辑结构示意图。 在所有附图中相同的标号指示相似或相应的特征或功能。【具体实施方式】 以下将结合附图对本专利技术的具体实施例进行详细描述。 针对现有系统中无法对用户角色模块内的权限进行实时更改的问题,本专利技术利用 2的幂级做按位与运算的特点,对用户角色(以下简称为角色)在模块中的权限进行控制。 具体原理说明如下: 按照2的幂级对角色所在模块中的所有的权限进行赋值,然后,根据需要挑选模 块中的权限,将挑选出的权限的权限值进行求和,将模块中各权限的权限值分别与求得的 和进行按位与运算,会发现,只有挑选出的权限的权限值与运算后得出的值相等,而未被挑 选的权限的权限值会与运算后得出的值不相等,由此来对角色在模块中的权限进行实时更 改。 图1示出了根据本专利技术实施例的角色权限的动态控制方法的流程。 如图1所示,本专利技术实施例提供的角色权限的动态控制方法包括两个阶段,分别 为角色权限修改阶段和角色权限加载阶段。 在角色权限修改阶段包括如下步骤: 步骤S11 :根据角色获取角色所对应的模块的各权限。 只有管理员能够对角色在模块中的权限进行修改,因此,在管理员登录系统后,进 入角色模块权限配置页面选择角色,并寻找该角色所在的全部模块,分别获取每个模块的 所有权限。例如:模块A包括权限A1和A2,模块B包括权限B1和B2,角色A在模块A中的 权限为A1,角色A在模块B中的权限为B1,管理员根据角色A获取到的是模块A的权限A1 和A2,以及模块B的权限B1和B2。 步骤S12 :对模块的各权限进行修改、保存;其中,修改模块的各权限包括:按照2 的幂级分别对模块的各权限进行赋值,以及,对模块赋值后的各权限进行选择。 此步骤是管理员对角色的权限的修改操作,角色权限为角色所在的每个模块的每 个权限,修改之后进行保存,只有保存后修改才会生效。 修改角色的权限包括两个方面,一方面,按照2的幂级分别对每个模块的每个权 限进行赋值;另一方面,根据系统和业务的实际需求对角色在每个模块中的权限进行选择, 上述两个方面在实现时,不分先后顺序。 对每个模块的每个权限进行赋值后,将每个模块的每个权限的权限值保存到数据 库中,数据库对模块、权限和权限值进行配置。例如: R0LE_PERMISSI0N_IDIS'权限设置编号'; R0LE_ID'角色编号'; M0DULE_C0DE'模块编号'; PERMISSION_VALUE'角色在模块中的权限值'。 在选择模块的权限的过程中,首先加载权限的页面,页面中每个权限都对应有权 限选择框,通过权限选择框对权限进行选择。S13:对选择出的权限进行权限值求和,并将求得的和值保存在预设的对应关系表 中,对应关系表具有角色、模块、权限三者间的对应关系。 在每个模块选择出权限后,对选择出的权限的权限值进行求和,将求得的和值保 存在预设的对应关系表中,最终,对应关系表中保存有角色所在的每个模块的和值,和值即 为角色在模块中选择出的权限当前第1页1 2 3 本文档来自技高网...
角色权限的动态控制方法及系统

【技术保护点】
一种角色权限的动态控制方法,包括角色权限修改阶段和角色权限加载阶段,其中,所述角色权限修改阶段,包括:根据角色获取所述角色所对应的模块的各权限;对所述模块的各权限进行修改、保存;其中,修改所述模块的各权限包括:按照2的幂级分别对所述模块的各权限进行赋值,以及,对所述模块赋值后的各权限进行选择;对选择出的权限进行权限值求和,并将求得的和值保存在预设的对应关系表中,所述对应关系表具有角色、模块、权限三者间的对应关系;所述角色权限加载阶段,包括:根据所述角色获取所述角色所对应的模块的各权限的权限值;将所述模块的各权限的权限值分别与保存在所述对应关系表中的和值进行按位与运算,在运算后得出的某个值与所述模块的某个权限的权限值相同时,加载与该权限值对应的模块的权限。

【技术特征摘要】

【专利技术属性】
技术研发人员:王剑龙刘宏
申请(专利权)人:歌尔声学股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1