CN117113313B - 权限管理方法及装置 - Google Patents

权限管理方法及装置 Download PDF

Info

Publication number
CN117113313B
CN117113313B CN202311387119.4A CN202311387119A CN117113313B CN 117113313 B CN117113313 B CN 117113313B CN 202311387119 A CN202311387119 A CN 202311387119A CN 117113313 B CN117113313 B CN 117113313B
Authority
CN
China
Prior art keywords
authority
target
value
permission
point
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.)
Active
Application number
CN202311387119.4A
Other languages
English (en)
Other versions
CN117113313A (zh
Inventor
朱明�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311387119.4A priority Critical patent/CN117113313B/zh
Publication of CN117113313A publication Critical patent/CN117113313A/zh
Application granted granted Critical
Publication of CN117113313B publication Critical patent/CN117113313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种权限管理方法及装置。该方法包括:确定针对目标角色所配置的至少一个目标权限点。获取各目标权限点各自对应的指示信息,指示信息中包括用于表示目标权限点的权限数值。根据各目标权限点各自对应的权限数值进行合并处理,确定目标权限点对应的第一压缩权限数值,第一压缩权限数值中包括与各目标权限点各自对应的指示比特位,取值为第一预设值的指示比特位用于指示目标角色具备与指示比特位相对应的目标权限点的权限。根据第一压缩权限数值,生成并存储目标角色所关联的第一目标权限数据。本申请的技术方案可以实现针对目标角色的权限配置,并且有效节省系统存储空间。

Description

权限管理方法及装置
技术领域
本申请涉及终端技术领域,尤其涉及一种权限管理方法及装置。
背景技术
随着计算机技术的不断发展,目前很多平台都提供基于账号的服务,即用户可以在平台上注册账号,之后在平台上登陆账号,以使用相应的服务。
通常基于账号的服务都存在一套权限管理系统,以明确每个账号所具备的系统权限。例如系统可以基于不同权限点的组合生成不同的角色,之后账号来申请需要的角色从而获取相应的权限。目前,相关技术中通常是针对角色关联存储各个权限点的标识,从而生成相应的角色。
然而为了有效的区分不同的权限点,那么随着权限点的数量越多,权限点的标识所占用的字节大小自然也越大,因此基于这样的实现方式来针对各个角色分别存储各自对应的权限点的标识,就会导致系统内存的占用较大。
发明内容
本申请实施例提供一种权限管理方法及装置,应用于终端技术领域。
第一方面,本申请实施例提出一种权限管理方法。该方法包括:
确定针对目标角色所配置的至少一个目标权限点;
获取各所述目标权限点各自对应的指示信息,所述指示信息中包括用于表示所述目标权限点的权限数值,所述权限数值中包括一个与所述目标权限点相对应的指示比特位,在所述权限数值中所述指示比特位的取值为第一预设值;
根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,所述第一压缩权限数值中包括与各所述目标权限点各自对应的指示比特位,且在所述第一压缩权限数值中各所述指示比特位的取值均为所述第一预设值,取值为所述第一预设值的所述指示比特位用于指示所述目标角色具备与所述指示比特位相对应的目标权限点的权限;
根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据。
这种实施方式中,在针对目标角色配置目标权限点的时候,会对各个目标权限点各自对应的权限数值进行合并得到权限压缩数值,其中权限压缩数值一方面数据量较小,另一方面包括各个目标权限点各自对应的指示比特位,因此每一个目标权限点都可以通过一个比特位来实现标识,因此之后根据第一压缩权限数值,生成并存储目标角色所关联的第一目标权限数据,就可以有效的实现针对目标角色的权限配置,并且很大程度的节省系统存储空间。
在一些实现方式中,所述指示信息还包括层级数值,所述层级数值用于指示所述目标权限点所对应的权限层级;
针对任一个所述权限层级中的多个权限点,各所述权限点各自对应的权限数值中,所述指示比特位的位置各不相同。
这种实施方式中,通过设置层级数值,可以通过更少的比特位来表示权限点,从而进一步的节省系统存储空间
在一些实现方式中,所述根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,包括:
针对任一个所述层级数值,在各所述目标权限点各自对应的指示信息中,确定包括所述层级数值的多个指示信息;
将包括所述层级数值的多个指示信息中的权限数值进行按位或操作,得到所述层级数值所对应的第一压缩权限数值。
这种实施方式中,对同一权限层级的权限数值可以进行合并处理,从而得到各个层级数值各自对应的压缩权限数值,以大幅度减少角色和权限点之间的关联记录数,也可以进一步的减少对系统存储空间的占用。
在一些实现方式中,所述根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据,包括:
针对任一个所述层级数值,将所述层级数值以及所述层级数值所对应的第一压缩权限数值确定为一条关联数据;
将各所述关联数据的集合,确定为所述目标角色所关联的第一目标权限数据;
将所述目标角色和所述第一目标权限数据进行关联存储。
在一些实现方式中,所述确定针对目标角色所配置的至少一个目标权限点,包括:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为针对所述目标角色所配置的目标权限点。
这种实施方式中,在权限配置界面中进行选择操作,就可以简单有效的实现对目标权限点的选择和配置。
在一些实现方式中,所述方法还包括:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为第一权限点,并根据各所述第一权限点各自对应的指示信息,确定所述第一权限点对应的第二压缩权限数值;
响应作用于权限配置界面的角色选择控件的操作,将至少一个已生成的角色中被选择的角色确定为待操作角色,并获取所述待操作角色所关联的第二目标权限数据;
响应作用于所述权限配置界面的操作选择控件的操作,确定目标操作,所述目标操作为如下中的任一种:取并集、取差集、取交集;
根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据。
这种实施方式中,可以在已生成的待操作角色的基础上,衍生出目标角色的第一目标权限数据,这样的话用户只需要在权限配置界面中选择少部分待和待操作角色的权限点进行目标操作的第一权限点即可,可以有效的节省操作人员所要进行的重复操作。
在一些实现方式中,在所述目标操作为取并集时,所述根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第一权限点各自对应的指示信息中包括的任一个第二层级数值,将所述第二层级数值对应的第二压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第三层级数值,将在所述第二目标权限数据中所述第三层级数值对应的第三压缩权限数值,确定为所述第三层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,各所述第三层级数值以及各所述第三层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
这种实施方式中,通过按位或的处理可以有效的实现将第一权限点和对待操作角色所配置的权限点取并集,从而实现对目标角色的权限配置,在此过程中用户只需要进行对第一权限点进行选择操作即可,无需再重复进行大量的权限点选择操作,因此可以有效的节省用户操作,提升生产效率。
在一些实现方式中,在所述目标操作为取差集时,所述根据各所述层级数值各自对应的第一压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位异或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第二层级数值,将在所述第二目标权限数据中所述第二层级数值对应的第三压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
这种实施方式中,通过按位异或的处理可以有效的实现将第一权限点和对待操作角色所配置的权限点取并集,从而实现对目标角色的权限配置,在此过程中用户只需要进行对第一权限点进行选择操作即可,无需再重复进行大量的权限点选择操作,因此可以有效的节省用户操作,提升生产效率。
在一些实现方式中,在所述目标操作为取交集时,所述根据各所述层级数值各自对应的第一压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位与处理,得到所述第一层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
这种实施方式中,通过按位与的处理可以有效的实现将第一权限点和对待操作角色所配置的权限点取并集,从而实现对目标角色的权限配置,在此过程中用户只需要进行对第一权限点进行选择操作即可,无需再重复进行大量的权限点选择操作,因此可以有效的节省用户操作,提升生产效率。
在一些实现方式中,每个所述权限层级中的多个权限点为同一类别的,所述权限点的类别是预先划分的。
通过设置每个权限层级中的多个权限点为同一类别的,也就是说按照权限点的分类结果来进行权限层级的划分和使用,可以有效的实现多类别多层次的权限隔离,既可以满足业务需求,又可以保证每一层级的权限点是互不冲突的。
在一些实现方式中,所述权限数值包括K个字节,所述层级数值为L个字节,所述K和所述L为大于或等于1的整数。
在一些实现方式中,所述权限数值的取值类型为长整型,所述层级数值的取值类型为整型或短整型。
在一些实现方式中,所述方法还包括:
响应基于第一账号所发送的角色分配请求,为所述第一账号关联所述角色分配请求所指示的第一角色。
在一些实现方式中,所述方法还包括:
响应基于所述第一账号所发送的登录请求,解析所述第一账号所关联的所述第一角色;
获取所述第一角色所关联的第一目标权限数据;
解析所述第一目标权限数据,以确定所述第一角色具备权限的至少一个关联权限点;
根据所述至少一个关联权限点,向所述第一账号所对应的登录设备发送各所述关联权限点各自对应的界面数据,以使得所述第一账号所对应的登录设备根据各所述界面数据显示所述第一账号对应的系统界面。
在这种实施方式中,可以有效的实现对每个账号的角色的第一目标权限数据进行校验,从而对每个账号根据为其分别配置的权限点发送相应的系统资源,从而实现针对不同的账号,根据各自对应的角色显示相应的系统界面,以有序的实现针对系统的权限管理。
第二方面,本申请实施例提供一种权限管理装置。该装置包括:
确定模块,用于确定针对目标角色所配置的至少一个目标权限点;
获取模块,用于获取各所述目标权限点各自对应的指示信息,所述指示信息中包括用于表示所述目标权限点的权限数值,所述权限数值中包括一个与所述目标权限点相对应的指示比特位,在所述权限数值中所述指示比特位的取值为第一预设值;
所述确定模块还用于,根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,所述第一压缩权限数值中包括与各所述目标权限点各自对应的指示比特位,且在所述第一压缩权限数值中各所述指示比特位的取值均为所述第一预设值,取值为所述第一预设值的所述指示比特位用于指示所述目标角色具备与所述指示比特位相对应的目标权限点的权限;
处理模块,用于根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据。
在一些实现方式中,所述指示信息还包括层级数值,所述层级数值用于指示所述目标权限点所对应的权限层级;
针对任一个所述权限层级中的多个权限点,各所述权限点各自对应的权限数值中,所述指示比特位的位置各不相同。
在一些实现方式中,所述确定模块具体用于:
针对任一个所述层级数值,在各所述目标权限点各自对应的指示信息中,确定包括所述层级数值的多个指示信息;
将包括所述层级数值的多个指示信息中的权限数值进行按位或操作,得到所述层级数值所对应的第一压缩权限数值。
在一些实现方式中,所述确定模块具体用于:
针对任一个所述层级数值,将所述层级数值以及所述层级数值所对应的第一压缩权限数值确定为一条关联数据;
将各所述关联数据的集合,确定为所述目标角色所关联的第一目标权限数据;
将所述目标角色和所述第一目标权限数据进行关联存储。
在一些实现方式中,所述确定模块具体用于:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为针对所述目标角色所配置的目标权限点。
在一些实现方式中,所述处理模块还用于:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为第一权限点,并根据各所述第一权限点各自对应的指示信息,确定所述第一权限点对应的第二压缩权限数值;
响应作用于权限配置界面的角色选择控件的操作,将至少一个已生成的角色中被选择的角色确定为待操作角色,并获取所述待操作角色所关联的第二目标权限数据;
响应作用于所述权限配置界面的操作选择控件的操作,确定目标操作,所述目标操作为如下中的任一种:取并集、取差集、取交集;
根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取并集时,所述处理模块具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第一权限点各自对应的指示信息中包括的任一个第二层级数值,将所述第二层级数值对应的第二压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第三层级数值,将在所述第二目标权限数据中所述第三层级数值对应的第三压缩权限数值,确定为所述第三层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,各所述第三层级数值以及各所述第三层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取差集时,所述处理模块具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位异或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第二层级数值,将在所述第二目标权限数据中所述第二层级数值对应的第三压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取交集时,所述处理模块具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位与处理,得到所述第一层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,每个所述权限层级中的多个权限点为同一类别的,所述权限点的类别是预先划分的。
在一些实现方式中,所述权限数值包括K个字节,所述层级数值为L个字节,所述K和所述L为大于或等于1的整数。
在一些实现方式中,所述权限数值的取值类型为长整型,所述层级数值的取值类型为整型或短整型。
在一些实现方式中,所述处理模块还用于:
响应基于第一账号所发送的角色分配请求,为所述第一账号关联所述角色分配请求所指示的第一角色。
在一些实现方式中,所述处理模块还用于:
响应基于所述第一账号所发送的登录请求,解析所述第一账号所关联的所述第一角色;
获取所述第一角色所关联的第一目标权限数据;
解析所述第一目标权限数据,以确定所述第一角色具备权限的至少一个关联权限点;
根据所述至少一个关联权限点,向所述第一账号所对应的登录设备发送各所述关联权限点各自对应的界面数据,以使得所述第一账号所对应的登录设备根据各所述界面数据显示所述第一账号对应的系统界面。
第三方面,本申请实施例提供一种终端设备,包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得终端设备执行如第一方面的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第五方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第六方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的应用市场的界面示意图;
图2为本申请实施例提供的推荐位的组件配置界面示意图一;
图3为本申请实施例的推荐位管理的配置界面示意图二;
图4为本申请实施例提供的推荐位管理的配置界面示意图三;
图5为本申请实施例提供的不同权限点的系统界面示意图一;
图6为本申请实施例提供的不同权限点的系统界面示意图二;
图7为本申请实施例提供的权限配置界面的界面示意图一;
图8为本申请实施例提供的权限管理方法的流程图;
图9为本申请实施例提供的权限数值的实现示意图;
图10为本申请实施例提供的权限数值的合并示意图;
图11为本申请实施例提供的层级数值及权限数值的示意图;
图12为本申请实施例提供的权限点的分类示意图;
图13为本申请实施例提供的确定目标角色的实现示意图一;
图14为本申请实施例提供的权限配置界面的界面示意图二;
图15为本申请实施例提供的权限配置界面的界面示意图三;
图16为本申请实施例提供的确定目标角色的实现示意图二;
图17为本申请实施例提供的确定目标角色的实现示意图三;
图18为本申请实施例提供的确定目标角色的实现示意图四;
图19为本申请实施例提供的权限管理装置的结构示意图;
图20为本申请实施例提供的终端设备的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。此外,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。
为了更好的理解本申请的技术方案,下面对本申请所涉及的相关技术进行进一步的详细介绍。
随着计算机技术的不断发展,涌现出了各种各样的系统或者说平台,目前很多平台都提供基于账号的服务,即用户可以在平台上注册账号,之后用户可以在平台上登录自己注册的账号,从而使用相应的服务。
通常情况下,基于账号的服务都存在一套权限管理系统,在一种可能的实现方式中,权限管理系统可以针对每个账号配置各自对应的角色,每个角色可以操作和享受的功能、服务、菜单、数据各不相同,从而可以实现针对每个账号的系统权限做到有效管控。
在本申请中,将标识系统功能的最小粒度称为权限点,也可以理解为权限点是配置系统权限的最小粒度,例如平台界面中的每一个菜单都可以理解为一个权限点,或者平台界面中的每一个操作控件都可以理解为一个权限点,或者平台中的一个表格、一项数据都可以理解为一个权限点,权限点的具体划分方式可以根据实际需求进行确定,凡是能够作为权限配置对象的系统资源都可以作为本申请中的权限点,本实施例对权限点的具体实现方式不做限制。
那么在上述介绍的实现方式中,角色就可以理解为权限点的集合,其中角色例如可以为超级管理员、普通管理员、普通用户等等,或者角色还可以为一级会员、二级会员、三级会员等等,角色的具体划分方式以及每个角色所对应的权限点的具体内容,都可以根据实际需求进行选择和设置,本实施例对此不做限制。
以及,账号就可以理解为角色的集合,通常情况下,一个账号往往只对应一个角色,在一些特殊情况下,也存在一个账号对应多个角色的情况,因此通过根据权限点生成角色,然后再针对账号分配角色,就可以有效实现针对账号的权限管理。
下面结合图1至图4以应用市场的推荐位管理为例,对权限点、角色以及账号的关系进行示例性的介绍。图1为本申请实施例提供的应用市场的界面示意图,图2为本申请实施例提供的推荐位的组件配置界面示意图一,图3为本申请实施例的推荐位管理的配置界面示意图二,图4为本申请实施例提供的推荐位管理的配置界面示意图三。
在终端设备中,应用市场是为用户提供应用程序的下载功能以及更新功能的应用程序,因此用户可以在应用市场中查找需要的目标应用程序。针对用户所查找的目标应用程序,应用市场除了可以提供目标应用程序本身的相关信息之外,还可以在目标应用程序的详情页中显示至少一个推荐应用程序。
如图1所示,假设当前的目标应用程序为应用X,那么在应用X所对应的详情页中,就可以显示多个推荐应用程序。更进一步的,应用X的详情页中又可以具体包括详情页-介绍以及详情页-游戏推荐这两个推荐位。
推荐位“详情页-介绍”具体可以参照图1中的(a),在“详情页-介绍”这个推荐位中可以包括3个组件,分别是“相关推荐”的组件101,以及“猜你喜欢”的组件102以及“同开发者其他应用”的组件103,在每个组件中都可以包括一些推荐应用程序,用户可以在相应的组件中点击推荐应用程序的“安装”控件,从而实现推荐应用程序的下载安装。
以及推荐位“详情页-游戏推荐”可以参照图1中的(b),在“详情页-游戏推荐”这个推荐位中可以理解为仅存在一个“大家都在玩”的件104,在组件104中同样是包括一些推荐应用程序,以及针对每个推荐应用程序都显示有各自对应的游戏信息,例如游戏大小、游戏下载次数等等。类似的,用户可以点击推荐应用程序的“安装”控件,从而实现推荐应用程序的下载安装。
针对图1所介绍的场景,需要理解的是,在“详情页-介绍”这个推荐位中所包括的各个组件,以及在“详情页-游戏推荐”这个推荐位中所包括的组件,都是可以在后台配置的。正是通过后台的一系列配置,才实现了在应用市场中相应的组件显示效果。
下面可以再结合图2至图4对详情页-介绍以及详情页-游戏推荐这两个推荐位的后台配置实现进行说明。
首先结合图2对“详情页-介绍”这个推荐位进行说明。如图2中的(a)所示,在推荐位的后台配置界面中,可以包括左侧的多个菜单,例如“A模块”、“B模块”、“C模块”、“D模块”、“E模块”这5个菜单,以及在图2中还示出了“B模块”这个菜单展开之后所包括的多个子菜单,例如包括“B1模块”、“B2模块”、“B3模块”、“推荐位管理”这4个子菜单。
其中,在“推荐位管理”这个子菜单所对应的配置界面中,就可以包括推荐位管理的相关数据,可以理解的是,“推荐位管理”这个子菜单所对应的配置界面,实际上就是上述介绍的应用市场内的各种推荐场景的关联配置的地方。
如图2中的(a)所示,在配置界面中可以显示已配置的推荐位所组成的推荐位表格,其中推荐位表格的每一行都对应一个已配置的推荐位,每一行的数据可以包括推荐位ID、推荐位名称、推荐位所关联的组件、推荐起始时间、推荐结束时间、操作人和该推荐位当前的状态。以及参照图2,在每一个推荐位的最后一行还存在一个操作格,在该操作格内包括“编辑”、“删除”、“禁用”这三个控件。
针对推荐位表格中的任一行而言,“编辑”控件用于打开该行推荐位所对应的编辑界面,“删除”控件用于删除该行推荐位并删除相关配置,“禁用”控件用于将该行推荐位的状态修改为禁用。
在图2中的(a)中,推荐位表格中的第一行对应的就是上述实施例介绍的“详情页-介绍”这个推荐位,假设针对第一行的“详情页-介绍”这个推荐位的编辑控件进行操作,则例如可以显示图2中的(b)所示的“详情页-介绍”这个推荐位所对应的组件编辑界面。
如图2中的(b)所示,“详情页-介绍”这个推荐位所对应的组件编辑界面中,“组件配置”的编辑模块中可以包括左侧的201区域和右侧的202区域。在左侧的201区域中可以显示有组件列表,在组件列表中包括可添加的多个组件各自对应的组件ID以及组件名称。
在一种可能的实现方式中,操作人员可以在左侧的组件列表中选择需要的组件进行添加,添加后的组件会显示在右侧的202区域,其中显示在右侧的202区域中的组件就是与“详情页-介绍”这个推荐位相关联的组件,相应的在应用市场的应用程序内,就会显示在“详情页-介绍”这个推荐位所对应的界面中。以及参照图2中的(b)还可以确定的是,在右侧的202区域中还可以编辑各个已添加组件的顺序,以及删除已添加组件等等,在右侧的202区域所进行的操作就会影响在应用市场这个应用程序内,“详情页-介绍”这个推荐位所对应的界面中所显示的组件内容。
下面再结合图3对“详情页-推荐”这个推荐位进行说明。图3中的(a)中示意的是推荐位的后台配置界面,其与上述图2中的(a)介绍的相同,此处不再赘述。
在图3中的(a)中,推荐位表格中的第二行对应的就是上述实施例介绍的“详情页-推荐”这个推荐位,假设针对第二行的“详情页-推荐”这个推荐位的编辑控件进行操作,则例如可以显示图3中的(b)所示的“详情页-推荐”这个推荐位所对应的组件编辑界面。
如图3中的(b)所示,“详情页-推荐”这个推荐位所对应的组件编辑界面中,“组件配置”的编辑模块中可以包括左侧的301区域和右侧的302区域。在左侧的301区域中可以显示有组件列表,其与上述介绍的类似。
以及,操作人员可以在左侧的组件列表中选择需要的组件进行添加,添加后的组件会显示在右侧的302区域,其中显示在右侧的302区域中的组件就是与“详情页-推荐”这个推荐位相关联的组件,相应的在应用市场的应用程序内,就会显示在“详情页-推荐”这个推荐位所对应的界面中,右侧区域的相关实现方式与上述图2中的(b)介绍的也是类似的,此处不再赘述。
在本实施例中,除了可以对已配置的推荐位进行编辑、删除、修改状态等操作之外,还可以再新增推荐位。参照上述图2中的(a)和图3中的(a)所示意的推荐位的后台配置界面中,还存在一个“新增”控件,则操作人员可以针对“新增”控件进行操作,从而新增推荐位。
可以参照图4对新增推荐位进行理解,如图4中的(a)所示,假设操作人员对后台配置界面中的“新增”控件进行操作,则可以显示图4中的(b)所示的新增推荐位的操作界面401,在该操作界面401中,通过点击推荐位名称的输入框,例如可以显示推荐位列表,之后可以在推荐位列表中选择某个推荐位。以及通过点击关联组件名称的输入框,例如可以显示组件列表,之后可以在组件列表中选择某个或者某些推荐位。在操作界面401内还可以包括更多的信息输入框,此处没有详细示出。在针对当前操作界面401中的信息输入框均操作完成之后,例如就可以完成新建一个推荐位,相应的在推荐位表格中就会新增一行。
总之,基于上述图2~图4的介绍可以确定的是,操作人员可以在后台配置界面中进行一系列操作,从而实现对应用市场这个应用程序内的推荐位的相关配置。但是可以理解的是,不能说任何一个操作人员都能够进行上述配置,这样可能会导致应用市场的推荐位管理混乱,因此通常是由专门的运营人员来进行上述介绍的配置操作,这就涉及到上述实施例介绍的,要针对不同的角色分配不同的权限,以实现针对系统中的账号进行相应的权限分配和管理。
目前,常见的权限管理模型存在如下两种:
在一种实现方式中,系统界面中的一个子菜单相当于一个权限点。例如可以参照图5进行理解,图5为本申请实施例提供的不同权限点的系统界面示意图一。
如图5所示,假设当前针对角色A分配了“推荐位管理”的子菜单这个权限点,那么关联角色A的某个账号在登录系统之后,其系统界面就如图5中的(a)所示,会显示“推荐位管理”这个子菜单,那么登录这个账号的操作人员就可以进行上述介绍的推荐位的相关配置。
以及,假设当前针对角色B并没有分配“推荐位管理”的子菜单这个权限点,那么关联角色B的某个账号在登录系统之后,其系统界面就如图5中的(b)所示,并不会显示“推荐位管理”这个子菜单,相应的登录这个账号的操作人员就无法进行上述介绍的推荐位的相关配置。
当前介绍的这种实现方式可以有效的实现针对不同的账号实现相应的权限管理,但是可以理解的是,其直接将一个子菜单作为一个权限点进行权限配置,存在权限粒度太粗以及安全性较差的问题。
因此还存在另一种实现方式,在这种实现方式中,系统中的每一个控件(或者说接口)以及每一条数据都可以作为一个权限点。例如上述介绍的后台配置界面中的“新增”控件、“编辑”控件、“删除”控件、“禁用”控件以及“搜索”控件,都可以作为一个可配置的权限点,甚至后台配置界面中的推荐位表格也可以作为一个可配置的权限点,以配置相应的角色是否有权限查阅该表格。甚至于,上述图5中的(b)中新增推荐位的编辑界面中,推荐位名称的下拉列表中所具体包括的各条推荐位名称的数据也可以作为一个权限点,以配置相应的角色是否有权限拉取相应的推荐位名称的数据。
下面结合图6以两个不同权限的角色为例,对这种细粒度划分权限点的实现方式进行说明。图6为本申请实施例提供的不同权限点的系统界面示意图二。
如图6所示,假设当前存在一个角色C,其具备推荐位管理这个子菜单所对应的界面中的所有权限点,那么关联角色C的某个账号在登录系统之后,其系统界面就如图6中的(a)所示,“推荐位管理”这个子菜单所对应的界面中的所有控件和数据都有进行完整显示,那么登录这个账号的操作人员就可以进行上述介绍的推荐位的相关配置。
再假设当前存在一个角色D,其仅仅具备推荐位管理这个子菜单所对应的界面中与读操作相关的权限点,且不具备任何写操作相关的权限点,也就是说针对角色D,允许其查看后台配置界面中的数据,但是不允许其对数据进行任何形式的修改。那么关联角色C的某个账号在登录系统之后,其系统界面例如如图6中的(b)所示,“推荐位管理”这个子菜单所对应的界面中,推荐位表格以及搜索控件是有显示的,因为其是读操作相关的权限点,但是上述介绍的“编辑”、“删除”、“禁用”、“新建”这一类写操作的权限点相关的控件都没有显示,因此登录这个账号的操作人员只可以查看推荐位的相关配置,无法进行数据的修改。
这种权限管理方式可以实现较细粒度的权限点划分,从而实现更为灵活的权限管理,因此具有广泛的应用。
在上述实施例介绍内容的基础上,下面再对针对角色进行权限配置的实现方式进行进一步的介绍。
可以理解的是,在较细粒度的权限点划分的基础上,通常系统的权限点数量是非常多的,而为了区分不同的权限点,则需要针对每一个权限点都分配各自对应的标识,以实现对各个权限点的唯一指示。示例性的,在系统后台可以存储有各个标识和相应的权限点之间的映射关系。
进一步的,在生成任意一个角色的时候,通常都是由管理人员线下收集角色所需要的权限点,然后在权限配置界面中依次勾选角色所需要的权限点,之后再由系统后台记录角色和所勾选的权限点的标识之间的映射关系,从而生成角色。
之后在账号需要申请角色的时候,申请角色的用户可以基于自己的账号向系统后台发送角色申请,系统后台在确定允许分配角色的时候,再记录账号和角色之间的关联关系,从而实现为账号分配所申请的角色,相应的,账号就得到了相应的系统权限。然后用户在系统中登录该账号之后,就可以在系统中操作或者浏览其所具备的各个权限点所对应的系统数据。
下面结合图7对生成角色的权限配置界面的可能的实现方式进行说明,图7为本申请实施例提供的权限配置界面的界面示意图一。
如图7所示,在权限配置界面中可以显示多个可供选择的权限点的相关数据所组成的表格,其中表格的第一行用于指示各列数据的具体含义,在图7的示例中,表格中的第一行依次为:权限点类别、权限点ID、权限点名称、模块。
其中,“权限点类别”就用于指示表格中第一列数据的含义为权限点类别,示例性的,可以预先针对系统中的多个权限点进行分类,从而针对每一个权限点都确定各自所属的类别。示例性的,针对权限点所划分的类别还可以存在层级关系,例如图7的示例中,“功能”这个类别就是“页面”这个类别下的子类别,其中“页面”可以理解为一级类别,“功能”可以理解为“页面”这个一级类别下的二级类别。在实际实现过程中,具体的类别划分方式可以根据实际需求进行选择和设置,本实施例对此不做限制,只要可以实现对权限点的分类划分即可。
以及,“权限点ID”就用于指示表格中第二列数据的含义为权限点的标识。在图7的示例中,权限点标识为用英文单词和/或英文缩写所表达的权限点的含义。在实际实现过程中,权限点标识还可以为数字、字母、符号中的一种或多种所组成的任意字符串,本实施例对此不做限制,只要权限点标识可以实现对权限点的唯一指示即可。在一种可能的实现方式中,因为本实施例中,系统中的每一个接口(即可操作的控件)以及每一项数据都可以作为一个权限点,因此此处的权限点ID还可以理解为针对每个接口或者数据所设置的,即通过将每个接口或者数据标识为一个字符串类型的ID来划分权限。
以及,“权限点名称”用于指示表格中第三列数据的含义为权限点的中文名称,这主要是便于操作人员理解每一个权限点具体的作用是什么,协助选择当前需要的权限点。
以及,“模块”用于指示表格中第四列数据的含义为权限点所属的系统模块。
基于上述介绍的表格中各列数据的含义,下面以图7中的第一个权限点(即表格中的第二行所对应的权限点)为例进行理解,针对第一个权限点而言,可以确定其类别为“菜单”,标识为“SearchModule”,中文名称为“搜索模块”,所属的系统模块为模块1。针对图7中的其余权限点也类似,此处不再赘述。
以及参照图7还可以确定的是,针对表格中的每一行,在其前方都存在一个选择控件(即图7中矩形的选择框),则操作人员可以在权限配置界面通过图7所示的搜索框查询需要的权限点,或者通过浏览权限点的表格,从而查找到需要的目标权限点。然后可以对目标权限点前的选择控件进行操作,从而选中目标权限点。
例如在图7的示例中,假设当前要针对角色A进行权限配置,以及假设针对角色A选中了权限点ID为“updateSearchWordConfStatus”和“querySearchWordConfList”的这两个目标权限点,之后假设配置人员点击图7中的“确定”控件,则可以生成角色A,以及在系统后台存储角色A与“updateSearchWordConfStatus”和“querySearchWordConfList”这两个权限点标识的映射关系,从而记录角色A所具备的权限点。
那么参照图7的介绍可以确定的是,针对每一个角色而言,系统后台都需要存储角色与对应的权限点标识的映射关系,在角色较多以及每个角色所需要关联的权限点标识较多的情况下,系统后台需要存储的数据量本身就是比较大的。在此基础上,目前的相关技术中,针对每一个权限点都通过一个字符串类型的ID作为其标识,假设一个字符串类型的ID的平均大小是50字节,那么如果说针对某个角色而言,要为其关联存储1000个权限点的标识就需要50K的存储空间,因此目前的实现方案中存在存储资源浪费的问题。
以及,目前的实现方式还存在无法区分数据权限的问题,特别是涉及到用户隐私的按钮,需要做到数据权限隔离。假设在购物场景下,对于订单查询接口,管理员角色可以看到购买人的姓名、收货地址等敏感信息,但普通运营角色只能看到购买商品、数量、金额等常规信息。
以及,基于上述介绍的实现方案,假如管理人员需要给角色A赋予应用市场-推荐位管理增删改查权限,需要给角色B赋予应用市场-推荐位管理只读查看权限,管理人员构建每个角色时都要逐个操作各个权限点标识,费时费力,严重影响生产运营效率。但其实角色B相对于角色A而言,只需要剔除写权限即可,但是现有的权限模型无法支撑角色关联权限点时的增、删、改操作,取并集、交集、差集等复杂操作更是无法支撑,只能实现针对每个角色依次进行全流程的配置处理,因此还存在权限的管理成本高的问题。
针对上述介绍的技术问题,本申请提出了如下技术构思:相较于将字符串类型的数据来作为权限点标识,可以通过多个比特位来表示角色的权限,其中一个比特位对应一个权限点,然后比特位的取值就用于指示角色是否具备相应的权限,这样的话每个权限点就只需要占用一个比特位,从而可以大大的节省系统空间,并且比特位便于进行上述介绍的取并集、取交集、取差集等复杂操作,因此还可以有效的解决权限的管理成本较高的问题。
在上述介绍内容的基础上,下面结合具体的实施例对本申请提供的权限管理方法进行说明。本申请中各实施例的执行主体可以为本地服务器、云端服务器、处理器、芯片等具备数据处理功能的设备。可以理解的是,本申请中各实施例的执行主体是运行系统后台的设备,用于处理系统后台所要执行的各项任务,自然也就包括本申请所提供的权限管理任务,在此基础上,具体的执行主体可以根据实际需求进行选择和设置。
下面首先结合图8至图10对本申请提供的权限管理方法进行介绍,图8为本申请实施例提供的权限管理方法的流程图,图9为本申请实施例提供的权限数值的实现示意图,图10为本申请实施例提供的权限数值的合并示意图。
如图8所示,该方法包括:
S801、确定针对目标角色所配置的至少一个目标权限点。
在本实施例中,假设要针对目标角色进行权限的配置,那么可以首先确定针对目标角色所要配置的至少一个目标权限点。其中权限点为系统中的一个接口或者一项数据,凡是系统中可以作为一个权限配置单元的相关资源,均可以作为本实施例中的权限点。
以及,针对目标角色具体要配置哪些目标权限点,其取决于目标角色的实际需求,因此本实施例对至少一个目标权限点的具体内容同样不做限制。
S802、获取各目标权限点各自对应的指示信息,指示信息中包括用于表示目标权限点的权限数值,权限数值中包括一个与目标权限点相对应的指示比特位,在权限数值中指示比特位的取值为第一预设值。
在确定目标权限点之后,本实施例中就可以获取各个目标权限点各自对应的指示信息。示例性的,在系统后台可以存储有各个目标权限点各自对应的指示信息,因此可以直接从系统后台获取各个目标权限点所各自对应的指示信息。
在本实施例中,目标权限点的指示信息中包括用于表示目标权限点的权限数值,在每个目标权限点的权限数值中都包括多个比特位,这多个比特位中存在一个与该目标权限点相对应的指示比特位,并且在该目标权限点的权限数值中,对应的指示比特位的取值为第一预设值,从而实现权限数值对当前目标权限点的指示。
在一种可能的实现方式中,不同的目标权限点所对应的权限数值中,指示比特位的位置各不相同,从而可以实现对各个目标权限点的区分表示。
此处对权限点的权限数值的表示方式进行说明,假设当前存在t个权限点,则例如可以采用t个比特位来表示这t个权限点,t为大于或等于1的整数。其中一个比特位对应一个权限点。针对任意一个权限点而言,该权限点所对应的比特位为第一预设值,除该权限点所对应的比特位之外的其余比特位均为第二预设值,按照这样的比特位取值所构成的权限数值就用于表示该权限点。
其中第一预设值例如为1,第二预设值例如为0。或者还可以是第一预设值为0,第二预设值为1,本实施例对此不做限制,只要第一预设值和第二预设值是0和1中的一个,并且两者不同即可。
例如可以参照图9对上述介绍的内容进行理解,假设t等于4,即当前存在4个权限点,假设分别是权限点A、权限点B、权限点C和权限点D,则例如可以采用4个比特位来分别对应这4个权限点。
如图9所示,假设第1个比特位对应权限点A,以及假设第一预设值为1,那么在第1个比特位的取值为1,其余比特位的取值为0的时候,可以得到0001的权限数值,对应的十进制表示为1,因此可以确定用于表示权限点A的权限数值为1。此处需要说明的是,本实施例中介绍的第i个比特位,是从第右往左的顺序来算的,i为大于等于1的整数。
以及,假设图9中的第2个比特位对应权限点B,以及假设第一预设值为1,那么在第2个比特位的取值为1,其余比特位的取值为0的时候,可以得到0010的权限数值,对应的十进制表示为2,因此可以确定用于表示权限点B的权限数值为2。图9中的权限点C和权限点D也类似,可以确定用于表示权限点C的权限数值为4,以及用于表示权限点D的权限数值为8。
因此在本实施例中,可以实现采用一个比特位来对应一个权限点,那么权限数值的比特数就例如可以等于权限点的数量,因此这样的实现方式可以很大程度的节省系统的存储空间。
S803、根据各目标权限点各自对应的权限数值进行合并处理,确定目标权限点对应的第一压缩权限数值,第一压缩权限数值中包括各目标权限点各自对应的指示比特位,且在第一压缩权限数值中各指示比特位的取值均为第一预设值,取值为第一预设值的指示比特位用于指示目标角色具备与指示比特位相对应的目标权限点的权限。
在确定目标权限点各自对应的指示信息之后,存在一种实现方式是直接将目标角色与各个目标权限点的指示信息进行关联存储,这样的实现方式与上述介绍的关联存储角色所对应的各个权限点标识的实现方式是类似的。但是,针对每一个角色都分别存储各个目标权限点的指示信息,那么在针对目标角色所配置的目标权限点的数量较多,以及系统中配置的角色数量也较多的情况下,仍然不可避免的会造成系统的存储空间占用较大。
因此在本实施例中,会将各目标权限点各自对应的权限数值进行合并处理,从而得到确定目标权限点对应的第一压缩权限数值,此处的第一压缩权限数值是针对多个目标权限点整体而言的。在第一压缩权限数值中会包括各目标权限点各自对应的指示比特位,且在第一压缩权限数值中各指示比特位的取值均为第一预设值,取值为第一预设值的指示比特位用于指示目标角色具备与指示比特位相对应的目标权限点的权限。
示例性的,本实施例中设置在每个目标权限点的权限数值中,都存在一个与该目标权限点相对应的指示比特位,并且设置不同的目标权限点的指示比特位不会发生冲突,因此可以对各个目标权限点各自对应的权限数值进行合并,从而得到整体的第一压缩权限数值。
在一种可能的实现方式中,本实施例中所介绍的合并处理可以是权限数值的按位或处理,即针对每一个比特位,将多个目标权限点各自对应的权限数值在该比特位的取值进行“或”处理,从而得到该比特位的合并结果,然后多个比特位的合并结果就构成了第一压缩权限数值。
例如可以结合图10进行理解,假设继续沿用上述示例,当前在权限点A、权限点B、权限点C和权限点D这4个权限点中,假设将权限点A和权限点D确定为目标角色所配置的目标权限点,则可以根据目标权限点A和目标权限点C的权限数值进行合并处理。
参照图10,根据目标权限点A的权限数值(0001)和目标权限点C的权限数值(1000)进行按位或处理,即将第1个比特位的1和0进行或处理,可以得到第1个比特位的合并结果为1;以及将第2个比特位的0和0进行或处理,可以得到第2个比特位的合并结果为0;以及将第3个比特位的0和0进行或处理,可以得到第3个比特位的合并结果为0;以及将第4个比特位的0和1进行或处理,可以得到第4个比特位的合并结果为1,因此可以确定合并后得到的第一压缩权限数值为1001,对应的十进制表达为9。
在图10示例的第一压缩权限数值1001中,第1个比特位为目标权限点A所对应的指示比特位,第4个比特位为目标权限点D所对应的指示比特位。其中,第1个比特位和第4个比特位的取值都为1(预设值),取值为1的第1个比特位用于指示目标角色具备与该第1个比特位相对应的目标权限点A的权限,取值为1的第4个比特位用于指示目标角色具备与该第4个比特位相对应的目标权限点D的权限。
此处介绍的合并操作是针对目标权限点的权限数值进行按位或处理,可以理解的是,当第一预设值为1的时候,进行的就是按位或的操作,当第一预设值为0的时候,进行的就是按位与的操作。在实际实现过程中,合并处理例如还可以为按位相加处理,其具体实现方式可以根据实际需求进行扩展,只要可以实现将多个目标权限点的权限数值合并为第一压缩权限数值,然后第一压缩权限数值可以满足上述介绍的条件即可。
因此参照当前示例可以理解的是,本实施例中在针对目标角色记录对应的目标权限点的时候,是会将各个目标权限点的权限数值进行进一步的合并,从而将多个权限数值合并为第一压缩权限数值。在第一压缩权限数值中,每一个比特位都可以指示一个权限点,具体的,第一压缩权限数值中的比特位取值为第一预设值的时候,指示目标角色具有该比特位所对应的权限点的权限,否则,则表示目标角色不具有该比特位所对应的权限点的权限。
因此本申请的技术方案,相较于存各个目标权限点的权限数值都进行存储的实现方式而言,可以很大程度的节省系统的存储空间。
S804、根据第一压缩权限数值,生成并存储目标角色所关联的第一目标权限数据。
在得到上述介绍的第一压缩权限数值之后,就可以根据第一压缩权限数值来生成与目标角色相关联的第一目标权限数据了,其中第一目标权限数据用于指示目标角色具备权限的各个目标权限点。示例性的,可以将第一压缩权限数值直接作为第一目标权限数据。或者,还可以将第一压缩权限数值进行一些数据处理之后,再得到目标角色关联的第一目标权限数据。
之后,系统后台可以对目标角色及其对应的第一目标权限数据进行关联存储,从而完成目标角色的构造,并且实现了针对目标角色配置相应的目标权限点。
本申请实施例提供的权限管理方法,包括:确定针对目标角色所配置的至少一个目标权限点。获取各目标权限点各自对应的指示信息,指示信息中包括用于表示目标权限点的权限数值,权限数值中包括一个与目标权限点相对应的指示比特位,在权限数值中指示比特位的取值为第一预设值。根据各目标权限点各自对应的权限数值进行合并处理,确定目标权限点对应的第一压缩权限数值,第一压缩权限数值中包括与各目标权限点各自对应的指示比特位,且在第一压缩权限数值中各指示比特位的取值均为第一预设值,取值为第一预设值的指示比特位用于指示目标角色具备与指示比特位相对应的目标权限点的权限。根据第一压缩权限数值,生成并存储目标角色所关联的第一目标权限数据。通过权限数值表示权限点,其中每个权限点的权限数值中包括一个与该权限点当对应的指示比特位,通过将该指示比特位的取值设置为第一预设值,从而可以实现权限数值对目标权限点的表示。以及,在针对目标角色配置目标权限点的时候,会进一步的根据各个目标权限点各自对应的权限数值进行合并处理,从而可以得到权限压缩数值,其中权限压缩数值一方面数据量较小,另一方面包括各个目标权限点各自对应的指示比特位,因此基于一个第一压缩权限数值,就可以实现对各个目标权限点的统一指示,并且每一个目标权限点都可以通过一个比特位来实现标识,因此之后根据第一压缩权限数值,生成并存储目标角色所关联的第一目标权限数据,就可以有效的实现针对目标角色的权限配置,并且很大程度的节省系统存储空间。
在上述介绍内容的基础上,基于多个比特位所构成的权限数值来表示目标权限点的实现方式,相较于上述介绍的采用字符串的形式作为权限点标识的实现方式,在内存的节省方面已经有了较好的效果。假设继续沿用上述的逻辑,即当前存在t个权限点,就采用t个比特位来表示这t个权限点,那么随着权限点数量的增加,权限数值所对应的比特位数量不可避免的也要增加。因此本申请在上述实施例的基础上,还提出了进一步的实现方案,以进一步的节省系统存储空间。
具体的,之所以随着权限点数量的增加,权限数值所对应的比特位数量也要增加,这是因为采取的策略是采用一个比特位来表示一个权限点,并且不同的权限点所对应的指示比特位不能是相同的,以避免造成同一个权限数值对应多个权限点的情况发生。那么如果说将权限数值所对应的比特位数量控制在某一个值,然后针对权限点进行层级划分,那么在不同的层次中,就可以实现复用同一个比特位,结合不同的层次,来分别表示不同的权限点了。
因此本实施例中还可以设置在指示信息中包括层级数值,层级数值用于指示目标权限点所对应的权限层级。
下面可以结合图11对权限层级进行理解,图11为本申请实施例提供的层级数值及权限数值的示意图。
如图11所示,假设当前共存在8个权限点,分别是权限点A~权限点H,以及假设固定权限数值的比特位数量为4,那么至少需要划分2个层级,从而实现对这8个比特位的指示。以及因为只需要表示两个层级,层级数值的比特数为1就可以满足要求。
具体的示例可以参照图11进行理解,假设层级数值的比特位的数量为1,那么这个比特位的取值可以为0和1。当取值为0的时候,对应的层级数值就为0,当取值为1的时候,对应的层级数值就为1,层级数值为0和层级数值为1就分别指示两个权限层级。
针对第1个权限层级而言,再进一步的分析该权限层级中的各个权限点的权限数值。假设当前层级中第1个比特位对应权限点A,以及假设第一预设值为1,那么在第1个比特位的取值为1,其余比特位的取值为0的时候,可以得到0001的权限数值,对应的十进制表示为1,因此可以确定用于表示权限点A的权限数值为1。然后针对权限点A而言,层级数值为0,权限数值为1,就可得到权限点A的指示信息为图11所示的(0,1)。
类似的,针对权限点B而言,层级数值为0,权限数值为2,就可得到权限点B的指示信息为图11所示的(0,2)。针对权限点C而言,层级数值为0,权限数值为4,就可得到权限点C的指示信息为图11所示的(0,4)。针对权限点D而言,层级数值为0,权限数值为8,就可得到权限点D的指示信息为图11所示的(0,8)。
以及,针对第2个权限层级而言,再进一步的分析该权限层级中的各个权限点的权限数值。假设当前层级中第1个比特位对应权限点E,以及假设第一预设值为1,那么在第1个比特位的取值为1,其余比特位的取值为0的时候,可以得到0001的权限数值,对应的十进制表示为1,因此可以确定用于表示权限点E的权限数值同样为1。然后针对权限点E而言,层级数值为1,权限数值为1,就可得到权限点E的指示信息为图11所示的(1,1)。
类似的,针对权限点F而言,层级数值为1,权限数值为2,就可得到权限点F的指示信息为图11所示的(1,2)。针对权限点G而言,层级数值为1,权限数值为4,就可得到权限点G的指示信息为图11所示的(1,4)。针对权限点H而言,层级数值为1,权限数值为8,就可得到权限点H的指示信息为图11所示的(1,8)。
基于图11介绍的示例可以确定的是,针对用于构成权限数值的4个比特位就实现了复用,例如第1个比特位既用于对应权限点A(对应层级数值0),又用于对应权限点E(对应层级数值1)。
这样的话,基于5个比特位就可以实现对8个权限点的表示,但是如果不划分层级的话,就需要8个比特位才能完成表示。因此通过划分权限层级,可以进一步的节省系统存储空间。
还需要说明的是,例如可以设置权限数值的比特位数量固定为t个,在划分权限层级的时候,存在一种实现方式是一个权限层级中的权限点数量等于t个的时候,再扩展下一层的权限层级。以t=4为例,例如首先存在层级数值为0的权限层级,在该权限层级中已经对应有4个权限点的时候,再扩展层级数值为1的权限层级。
以及,当层级数值的比特位数量不足以表示需要的权限层级的时候,也可以针对层级数值的比特位数量进行扩展。例如当前固定权限数值的比特数为4个,那么在权限点的数量为16个的时候,就至少需要划分4个权限层级。那么1个比特位就不足以表示4个权限层级了,则例如可以将层级数值的比特位扩展为2个,那么层级数值就可以为00、01、10、11,从而分别对应4个权限层级。
上述介绍的是权限层级的一种划分方式,也就是说在一个权限层级对权限点的表示已经满了的时候,再扩展下一个权限层级,这样就保证从小到大的权限层级中,除最后一层之外的每一层权限层级中权限数值的比特位都是被有效利用的。
然而,还存在另一种权限层级的划分方式,就是根据实际需求对系统中的权限点进行分类,然后设置不同分类的权限点对应的不同的权限层级,即每个权限层级中的多个权限点对应的是同一类别,这样的话通过层级数值就可以快速的查找到特定分类的权限点,以实现针对大量权限点的分类有序的表示。
假设当前可以根据系统的实际业务需求,将权限点划分为操作类型的权限点和数据类型的权限点。然后例如可以用偶数的层级数值来表示操作类型的权限点,以及用奇数类型的层级数值来表示数据类型的权限点。假设将层级数值N和权限数值M的数字组合表示为(LevelN,LongM),那么偶数的层级数值所对应的权限点可以表示为(Level2N,LongM),其中2N就表示层级数值,M就表示权限数值;以及奇数技术的层级数值所对应的权限点可以表示为(Level2N+1,LongM),其中2N+1就表示层级数值,M就表示权限数值。
例如可以结合图12进行理解,图12为本申请实施例提供的权限点的分类示意图。
如图12所示,将系统的权限点集合例如可以划分为操作类型的权限点和数据类型的权限点。
其中,操作类型例如可以又进一步的细分为读类型、新增类型、编辑类型、删除类型等等。在图12的示例中,操作类型的权限点所对应的指示信息中,层级数值均为偶数。更进一步的,在偶数这个大原则的基础上,例如可以进一步的设置读类型、新增类型、编辑类型、删除类型这些细分的子类型的层级数值的设置规则。在图12的示例中,示意性的给出了指示信息为(0,1)和(0,2)的这两个读类型的权限点,在指示信息中,第一个数值为层级数值,第二个数值为权限数值,则可以确定的是,读类型的权限点的层级数值为0。其余的类似,参照图12可以确定的是,新增类型的权限点的层级数值为2,编辑类型的权限点的层级数值为4,删除类型的权限点的层级数值为6。
或者,还例如可以设置读类型的权限点的层级数值为0和2,新增类型的权限点的层级数值为4和6,编辑类型的权限点的层级数值为8,删除类型的权限点的层级数值为10。
以及,数据类型例如可以又进一步的细分为普通权限类型、一级敏感权限类型、二级敏感权限类型、三级敏感权限类型等等。在图12的示例中,数据类型的权限点所对应的指示信息中,层级数值均为奇数。更进一步的,在奇数这个大原则的基础上,例如可以进一步的设置普通权限类型、一级敏感权限类型、二级敏感权限类型、三级敏感权限类型这些细分的子类型的层级数值的设置规则。在图12的示例中,示意性的给出了指示信息为(1,1)和(1,2)的这两个普通权限类型的权限点,在指示信息中,第一个数值为层级数值,第二个数值为权限数值,则可以确定的是,普通权限类型的权限点的层级数值为1。其余的类似,参照图12可以确定的是,一级敏感权限类型的权限点的层级数值为3,二级敏感权限类型的权限点的层级数值为5,三级敏感权限类型的权限点的层级数值为7。
或者,还例如可以设置普通权限类型的权限点的层级数值为1和3,一级敏感权限类型的权限点的层级数值为5和7,二级敏感权限类型的权限点的层级数值为9,三级敏感权限类型的权限点的层级数值为11。以及还例如可以设置有数据类型的权限点中,权限点对应的层级数值越大,权限点所对应的数据就越敏感的规则。
在实际实现过程中,具体的权限点分类方式,以及针对每一个分类具体采用哪些权限层级来表示该分类下的各个权限点,都可以根据实际的业务需求设置相应的规则,本实施例对此不做限制。
假设将用于表示权限点的层级数值N和权限数值M的数字组合表示为(LevelN,LongM),以及假设当前共划分有C个权限点类别,那么针对上述介绍的权限点分类和相应的权限层级的对应方式,例如可以抽象出如下表1:
表1
在上述表1中,C为划分的权限点类别的数量,P表示C个权限点类别的第P个权限点类别,C为大于等于1的整数,P为大于等于1且小于等于C的整数。
假设沿用上述介绍的偶数的层级数值和奇数的层级数值的划分方式套用上述介绍的表1,那么划分的权限点类别的数量C就等于2。其中第1个权限类别的组合方式就表示为(Level2N,LongM),其中2N表示层级数值,M表示权限数值。例如(Level0,LongM),(Level2,LongM)就是当前权限类别下的权限点的数字组合的示例。
以及,第1个权限类别的组合方式就表示为(Level2N+1,LongM),其中2N+1表示层级数值,M表示权限数值。例如(Level1,LongM),(Level3,LongM)就是当前权限类别下的权限点的数字组合的示例。
在本实施例中,通过设置每个权限层级中的多个权限点为同一类别的,也就是说按照权限点的分类结果来进行权限层级的划分和使用,可以有效的实现多类别多层次的权限隔离,既可以满足业务需求,又可以保证每一层级的权限点是互不冲突的。
在上述介绍内容的基础上,此处再对指示信息中的权限数值和层级数值的字节大小进行进一步的说明。
在实际实现过程中,针对系统中的权限点编码各自对应的指示信息,实际上是在角色配置之前就已经预先完成的,因此在一种可能的实现方式中,可以根据系统中权限点的实际数量确定权限数值和层级数值的字节大小,以保证权限数值和层级数值的字节大小足够编码各个权限点各自对应的指示信息。
因此,本申请中的权限数值和层级数值的字节大小可以为固定的,其例如权限数值包括K个字节,层级数值为L个字节,其中K和L为大于或等于1的整数。示例性的,K和L可以为根据实际的权限点数值的编码需求所确定的任意大小的数值。
或者,还可以设置权限数值的取值类型为长整型(long),以及设置层级数值的取值类型为整形(int)或者短整型(short),这样的话就可以通过预先配置权限数值和层级数值的数据类型,从而将权限数值和层级数值的字节大小分别固定为某个值。这种通过权限数值和层级数值的数值类型,从而固定权限数值和层级数值的字节大小的实现方式,可以实现根据不同的操作系统适应性的确定权限数值和层级数值的字节大小,并且便于实现对权限数值和层级数值的存储。以及在这种实现方式中,权限数值的取值类型和层级数值的取值类型都可以根据实际需求进行选择,上述介绍的权限数值的取值类型为long,层级数值的取值类型为int或short是一种较为优选的实现方式,因为通常情况下在一个权限层级中需要表示的权限点是比较多的,因此将权限数值的取值类型设置为long,可以实现这对权限数值设置更多的字节数量。
在实际实现过程中,具体是根据实际需求来灵活设置K和L,还是通过指定权限数值和层级数值的数值类型,从而固定权限数值和层级数值的字节大小,这两种实现方式都可以根据实际需求进行灵活选择。
综上所述,本申请的技术方案中可以用(层级数值(K字节),权限数值(L字节))的数字组合来表示一个权限点,针对角色存储相同数量的权限点时,本申请的技术方案所需的存储空间是权限点标识这种实现方式所占用存储空间的几百分之一,因此可以有效的节省存储空间。同时,本申请中对同一权限层级的权限数值可以进行合并处理,从而得到各个层级数值各自对应的压缩权限数值,以大幅度减少角色和权限点之间的关联记录数,也可以进一步的减少对系统存储空间的占用。
以及上述实施例介绍了,本申请中要针对各个目标权限点各自对应的权限数值进行合并处理,从而得到第一压缩权限数值。当不存在权限层级的时候,可以直接对各个目标权限点各自对应的权限数值进行统一的合并处理,从而得到一个第一压缩权限数值。但是当划分有多个权限层级的时候,因为不同权限层级中的权限点所对应的指示比特位是存在复用的,因此就不能直接进行整体的合并了。
下面结合图13对划分有权限层级的情况下,针对权限数值的合并处理的具体实现进行进一步的详细介绍。图13为本申请实施例提供的确定目标角色的实现示意图一。
如图13所示,本实施例中获取了各个目标权限点各自对应的指示信息,在指示信息中既包括权限数值,又包括层级数值。因为同一个权限层级中的权限点的权限数值是不存在冲突的,因此本实施例中可以将多个目标权限点中,对应同一个权限层级的目标权限点的权限数值进行合并处理,从而得到该权限层级所对应的第一压缩权限数值。
在多个目标权限点各自对应的指示信息中,可能存在多个层级数值,针对任意一个层级数值的处理都是类似的,因此下面以任一个为例进行说明。
针对任一个层级数值,本实施例中可以在各目标权限点各自对应的指示信息中,确定包括该层级数值的多个指示信息,之后将包括该层级数值的多个指示信息中的权限数值进行按位或操作,得到层级数值所对应的第一压缩权限数值。
以权限数值的取值类型为long,层级数值的取值类型为short或者int的实现方式为例,对当前示例进行介绍。本领域相关技术人员可以了解的是,short、int和long类型所对应的字节大小在不同的操作系统中会有不同的结果,下面实施例以short类型为2字节,int类型为4字节,long类型为8字节为例进行说明,当short、int和long类型所对应的字节大小为其余实现方式的时候,相关的实现方式相应的进行数值的替换即可。
在图13的示例中,假设当前针对目标角色要配置的目标权限点有4个,分别是权限点A、权限点B、权限点C和权限点D。
在本实施例中,权限数值的取值类型为long,也就是8个字节,其中1个字节为8个比特,那么相应的权限数值所对应的比特位数量就是64个,这64个比特位可以用于指示64个权限点。以及,层级数值的取值类型为short或者int,当层级数值的取值类型为short时,也就是2个字节,相应的也就是16个比特位,这16个比特位可以指示65536个权限层级;当层级数值的取值类型为int时,也就是4个字节,相应的也就是32个比特位,这32个比特位可以指示4294967296个权限层级。
针对权限点A而言,其权限数值为图13示意的0…00001这8个字节(图13和本实施例中,省略号省略的均为若干个0),这8个字节中的第1个比特位是用于指示权限点A的,相应的权限点A的权限数值的十进制表示就为1。以及权限点A的层级数值为图13示意的0000…00这2个字节(或4个字节),相应的权限点A的层级数值的十进制表示就为0,因此权限点A的指示信息可以表示为(0,1),其中0为权限点A的层级数值,1为权限点A的权限数值。
针对权限点B而言,其权限数值为图13示意的0…10000这8个字节,这8个字节中的第5个比特位是用于指示权限点B的,相应的权限点B的权限数值的十进制表示就为16。以及权限点B的层级数值为图13示意的0000…00这2个字节(或4个字节),相应的权限点B的层级数值的十进制表示就为0,因此权限点B的指示信息可以表示为(0,16),其中0为权限点B的层级数值,16为权限点B的权限数值。
针对权限点C而言,其权限数值为图13示意的0…0010这8个字节,这8个字节中的第2个比特位是用于指示权限点C的,相应的权限点C的权限数值的十进制表示就为2。以及权限点C的层级数值为图13示意的0000…01这2个字节(或4个字节),相应的权限点C的层级数值的十进制表示就为1,因此权限点C的指示信息可以表示为(1,2),其中1为权限点C的层级数值,2为权限点C的权限数值。
针对权限点D而言,其权限数值为图13示意的0…1000这8个字节,这8个字节中的第4个比特位是用于指示权限点D的,相应的权限点D的权限数值的十进制表示就为8。以及权限点D的层级数值为图13示意的0000…01这2个字节(或4个字节),相应的权限点D的层级数值的十进制表示就为1,因此权限点D的指示信息可以表示为(1,8),其中1为权限点D的层级数值,8为权限点D的权限数值。
在针对图13中所示意的这4个权限点的权限数值进行合并的时候,只能针对同一权限层级的进行合并。当前示例中,共存在0和1这两个层级数值,针对这两个层级数值分别进行处理。
针对层级数值0,在这4个目标权限点各自对应的指示信息,首先确定包括该层级数值0的多个指示信息,即权限点A的指示信息(0,1)和权限点B的指示信息(0,16)。然后,将这两个指示信息中的权限数值进行按位或操作,从而得到层级数值0所对应的第一压缩权限数值。
参照图13可以确定的是,指示信息(0,1)中的权限数值的各个比特位为0…00001这8个字节,以及指示信息(0,16)中的权限数值的各个比特位为0…10000这8个字节,然后针对这两个权限数值的各个比特位依次进行按位或处理,就可以得到图13所示的0…10001这8个字节的第一压缩权限数值,对应的十进制就是17。
以及针对层级数值1,在这4个目标权限点各自对应的指示信息,首先确定包括该层级数值1的多个指示信息,即权限点C的指示信息(1,2)和权限点D的指示信息(1,8)。然后,将这两个指示信息中的权限数值进行按位或操作,从而得到层级数值1所对应的第一压缩权限数值。
参照图13可以确定的是,指示信息(1,2)中的权限数值的各个比特位为0…0010这8个字节,以及指示信息(1,8)中的权限数值的各个比特位为0…1000这8个字节,然后针对这两个权限数值的各个比特位依次进行按位或处理,就可以得到图13所示的0…1010这8个字节的第一压缩权限数值,对应的十进制就是10。
在针对各个层级数值分别确定各自对应的第一压缩权限数值之后,本实施例中可以针对任一个层级数值,将层级数值以及层级数值所对应的第一压缩权限数值确定为一条关联数据。之后将各关联数据的集合,确定为目标角色所关联的第一目标权限数据;再将目标角色和第一目标权限数据进行关联存储。
例如在图13的示例中,可以将层级数值0和对应的第一压缩权限数值17确定为一条关联数据,即图13所示的(0,17)。以及将层级数值1和对应的第一压缩权限数值10确定为一条关联数据,即图13所示的(1,10),这两条关联数据的集合即为目标角色的第一目标权限数据,之后在将目标角色和目标权限数值(0,17)以及(1,10)进行关联存储,就可以实现对目标角色的权限配置。
需要说明的是,本实施例的示例中介绍的是第一预设值为1的情况,当第一预设值为1的时候,进行的就是本实施例中按位或的操作,当第一预设值为0的时候,进行的就是按位与的操作,其可以根据实际需求灵活选用。
在本实施例中,通过对同一权限层级的目标权限点的权限数据进行合并处理,从而得到各个层级数值各自对应的第一压缩权限数值,之后再将层级数值和对应的第一压缩权限数值作为一条关联数据,然后将关联数据的集合作为第一目标权限数据和目标角色关联存储,从而可以实现在针对目标角色针对每一个权限层级,都只需要存储一条第一压缩权限数值,就可以实现对该权限层级中的各个权限点的指示,因此可以有效的节省系统存储空间,并且本申请中权限数值和层级数值的组合方式可以表示大量的权限点。
下面结合表2对针对目标角色存储不同数量的权限点的情况下,本申请的技术方案所占用的存储空间和现有技术所占用的存储空间进行示例性的对比。
表2:
假设当前针对目标角色要关联存储64个目标权限点:
方式一:若设置层级数值为int类型(4字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是12个字节,其中8个字节的第一压缩权限数值就可以实现对64个目标权限点的指示,因此只需要划分一个权限层级即可,所以只需要为目标角色关联存储1个12字节的关联数据,占用12字节的存储空间,即可实现对64个目标权限点的配置。
方式二:若设置层级数值为short类型(2字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是10个字节,其中8个字节的第一压缩权限数值就可以实现对64个目标权限点的指示,因此只需要划分一个权限层级即可,所以只需要为目标角色关联存储1个10字节的关联数据,占用10字节的存储空间,即可实现对64个目标权限点的配置。
方式三:传统方案中通过字符串形式实现各个权限点的权限点标识,假设1个权限点标识的平均大小是50字节,那么64个目标权限点就需要3200个字节。在这种实现方式下,需要为目标角色关联存储64个目标权限点各自对应的权限点标识,也就需要占用3200字节的存储空间,才能实现对64个目标权限点的配置。
再假设当前针对目标角色要关联存储1000个目标权限点:
方式一:若设置层级数值为int类型(4字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是12个字节,其中8个字节的第一压缩权限数值可以实现对64个目标权限点的指示,那么需要划分16个权限层级才能够满足对1000个权限点的指示(用1000除以64然后取整),所以只需要为目标角色关联存储16个12字节的关联数据,占用192字节的存储空间,即可实现对1000个目标权限点的配置。
方式二:若设置层级数值为short类型(2字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是10个字节,其中8个字节的第一压缩权限数值可以实现对64个目标权限点的指示,那么需要划分16个权限层级才能够满足对1000个权限点的指示(用1000除以64然后取整),所以只需要为目标角色关联存储16个10字节的关联数据,占用160字节的存储空间,即可实现对1000个目标权限点的配置。
方式三:传统方案中通过字符串形式实现各个权限点的权限点标识,假设1个权限点标识的平均大小是50字节,那么1000个目标权限点就需要50000个字节。在这种实现方式下,需要为目标角色关联存储1000个目标权限点各自对应的权限点标识,也就需要占用50000字节的存储空间,才能实现对1000个目标权限点的配置。
再假设当前针对目标角色要关联存储10000个目标权限点:
方式一:若设置层级数值为int类型(4字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是12个字节,其中8个字节的第一压缩权限数值可以实现对64个目标权限点的指示,那么需要划分157个权限层级才能够满足对10000个权限点的指示(用10000除以64然后取整),所以只需要为目标角色关联存储157个12字节的关联数据,占用1884字节的存储空间,即可实现对10000个目标权限点的配置。
方式二:若设置层级数值为short类型(2字节),以及权限数值为long类型(8字节),那么一个权限层级所对应的关联数据(包括层级数值和第一压缩权限数值)就是10个字节,其中8个字节的第一压缩权限数值可以实现对64个目标权限点的指示,那么需要划分157个权限层级才能够满足对10000个权限点的指示(用10000除以64然后取整),所以只需要为目标角色关联存储157个10字节的关联数据,占用1570字节的存储空间,即可实现对10000个目标权限点的配置。
方式三:传统方案中通过字符串形式实现各个权限点的权限点标识,假设1个权限点标识的平均大小是50字节,那么10000个目标权限点就需要500000个字节。在这种实现方式下,需要为目标角色关联存储10000个目标权限点各自对应的权限点标识,也就需要占用500000字节的存储空间,才能实现对10000个目标权限点的配置。
基于当前示例可以确定的是,本申请的技术方案中,通过K字节的权限数值和L字节的层级数值的组合,可以在占用较小的存储空间的前提下,实现针对大量的权限点的指示和配置。
以及还需要说明的是,上述实施例是以权限数值为long类型,层级数值为int类型或者short类型为例进行的介绍,然而在实际实现过程中,权限数值和层级数值的具体取值类型是可以根据实际需求进行选择。例如层级数值可以仅仅通过单字节(8个比特)来标识,即使这样,层级数值仍然可以表示出256种权限层级,那么假设权限数值仍然为long类型(64个比特),这样的组合依然可以存储16384个权限点,因此本申请的技术方案中,层级数值和权限数值的具体字节数可以根据实际需求进行灵活设置以及灵活调整。
在上述各实施例介绍内容的基础上,下面再结合图14对确定针对目标角色所配置的目标权限点的实现方式进行进一步的说明。图14为本申请实施例提供的权限配置界面的界面示意图二。
如图14所示,用户可以在权限配置界面中进行操作,从而实现对目标权限点的选择。参照图14可以确定的是,在权限配置界面中可以显示多个可供选择的权限点的相关数据所组成的表格,其中表格的第一行用于指示各列数据的具体含义,在图14的示例中,表格中的第一行依次为:权限点类别、权限点名称、模块,各项数据的具体含义参照上述图7的介绍,以及当前界面中此处未介绍的内容,同样可以参照上述图7的介绍,此处不再赘述。
在图14中,每一个权限点前方都有一个选择控件,选择控件用于指示对对应的权限点的选择,则配置权限的操作人员可以在权限配置界面中对选择控件进行操作。在本实施例中,响应作用于权限配置界面的至少一个选择控件的操作,将各选择控件各自对应的权限点确定为针对目标角色所配置的目标权限点。
例如在图14的示例中,假设用户对权限配置界面中权限点A所对应的选择控件进行了操作,以及对权限点B所对应的选择控件进行了操作,以及对权限点C所对应的选择控件进行了操作,以及对权限点D所对应的选择控件进行了操作,则可以将权限点A、权限点B、权限点C和权限点D确定为针对目标角色所配置的目标权限点。示例性的,用户在针对目标权限点的选择控件进行操作之后,还可以进一步的界面中的“确定”控件进行选择,从而触发对目标权限点的确定动作。
在图14所介绍的这种实现方式中,针对目标角色所选择的目标权限点,实际上就是要针对目标角色所配置的权限点,因此在这种实现方式中,可以将针对目标权限点所确定的各个层级数值以及各个层级数值各自对应的第一压缩权限数值,直接确定为目标角色所关联的第一目标权限数据。
如果说针对每一个角色在配置权限的时候都采用上述图14介绍的方式,就表示针对每一个角色都要分别进行多次选择操作,然而在实际实现过程中,有可能两个角色所对应的权限点只存在很小的差别,那么如果说针对权限点相似的角色分别进行图14所对应的选择操作,则会出现大量的重复操作,导致角色配置的生产效率低下。
因此在一种可能的实现方式中,用户可以在权限配置界面中仅仅选择和已有角色之间存在差异的权限点,然后就可以在已有角色的目标权限数据的基础上执行相关操作,从而快速的衍生出新角色的目标权限数据了。
下面结合图15对这种实现方式进行说明,图15为本申请实施例提供的权限配置界面的界面示意图三。
如图15中的(a)所示,用户可以在权限配置界面中对选择控件进行操作,在本实施例中,响应作用于权限配置界面的至少一个选择控件的操作,将各选择控件各自对应的权限点确定为第一权限点,其中第一权限点可以理解为待和已有的角色的权限点进行操作的权限点。例如在图15中的(a)的示例中,第一权限点就是权限点E。
本实施例中还可以根据各第一权限点各自对应的指示信息,确定第一权限点对应的第二压缩权限数值。此处的第二压缩权限数值是针对多个第一权限点整体而言的,确定权限点的压缩权限数值的实现方式可以参照上述实施例的介绍,此处不再赘述。
以及,在权限配置界面中还包括“角色衍生”的触发控件,该触发控件用于触发显示角色衍生界面。参照图15中的(a),例如可以响应于针对“角色衍生”的触发控件的操作,在权限配置界面中显示图15中的(b)的角色衍生控件,在角色衍生控件中进一步包括角色选择控件(即图15中的(b)中的“选择角色”)和操作选择控件(即图15中的(b)中的“选择操作”)。
其中,角色选择控件中可以包括已生成角色的列表,则用户可以针对角色选择控件进行操作,从而在多个已生成角色中选择某一个角色作为待操作角色。具体的,可以响应作用于权限配置界面的角色选择控件的操作,将至少一个已生成的角色中被选择的角色确定为待操作角色。以及因为待操作角色是已经生成的角色,因此待操作角色是存在关联的第二目标权限数据的,第二目标权限数据与上述介绍的第一目标权限数据是类似的,只是第二目标权限数据是针对待操作角色而言的,而第一目标权限数据是针对目标角色而言的。因此本实施例中可以获取待操作角色所关联的第二目标权限数据。
以及,在操作选择控件中可以包括多个可选择操作的列表,则用户可以针对操作选择控件进行操作,从而在多个可选择操作中选择某一个操作作为目标操作。其中,目标操作可以为如下中的任一种:取并集、取差集、取交集。
在完成上述操作之后,就可以根据第一权限点对应的第二压缩权限数值以及第二目标权限数据执行目标操作,从而生成目标角色所关联的第一目标权限数据。
示例性的,后台可以响应于用户对角色衍生控件中的“提交”按钮的操作,触发执行生成目标角色所关联的第一目标权限数据的操作开始执行。或者,还可以不用设置角色衍生控件触发显示角色衍生控件,从而才显示角色选择控件和操作选择控件,而是直接在权限配置界面中显示角色选择控件和操作选择控件,当用户对针对权限配置界面中的“确定”控件进行操作,以触发生成目标角色的第一目标权限数据的时候,只要后台检测到用户对角色选择控件和操作选择控件进行了操作,就可以按照当前实施例介绍的内容生成目标角色的第一目标权限数据。总之,角色选择控件和操作选择控件在界面中的具体设置方式可以根据实际需求进行选择和设置。
因此本实施例中可以在已生成的待操作角色的基础上,衍生出目标角色的第一目标权限数据,这样的话用户只需要在权限配置界面中选择少部分待和待操作角色的权限点进行目标操作的第一权限点即可,可以有效的节省操作人员所要进行的重复操作。
下面对目标操作的各种可能的实现方式下,生成目标角色所关联的第一目标权限数据的实现方式进行进一步的详细介绍。
首先对目标操作为取并集的实现方式进行说明。
可以理解的是,当目标操作为取并集的时候,就表示用户在权限配置界面中所选择的第一权限点以及为待操作角色所配置的各个权限点,都要作为为目标角色所配置的目标权限点。
同时,在各个第一权限点各自对应的指示信息中包括多个层级数值,在待操作角色的第二目标权限数据中同样包括多个层级数值,因为当前是进行取并集的操作,因此针对这两部分数据中的每一个层级数值都要进行处理。
下面结合图16进行理解,图16为本申请实施例提供的确定目标角色的实现示意图二。
假设当前确定的待操作角色为角色A,以及针对角色A所配置的权限点包括图16所示的权限点A、权限点B、权限点C和权限点D,角色A的每一个权限点的指示信息在图中都有示意,以及角色A的第二目标指示信息包括图16中所示意的{(0,17),(1,10)},图16中角色A的各项数据均与上述图13中介绍的目标角色的情况类似,此处不再进行详细说明。
以及,假设当前用户在权限配置界面所选择的第一权限点为权限点E,其中权限点E的指示信息为(0,2),其中0为权限点E的层级数值,对应图16中示意的0000…00这2个字节(或4个字节);以及2为权限点E的权限数值,对应图16中示意的0…00010这8个字节,那么可以理解的是,这8个字节中的第2个比特位是用于指示权限点E的。因为当前只存在一个第一权限点,因此第一权限点所对应的第二压缩权限数值也就只包括1。
在此基础上,下面对确定第一目标权限数据的实现方式进行说明。
首先,针对各第一权限点各自对应的指示信息以及第二目标权限数据中均包括的任一个第一层级数值,因为第一层级数值在两部分数据中都是存在的,那么就需要根据第一层级数值对应的第二压缩权限数值以及在第二目标权限数据中第一层级数值对应的第三压缩权限数值进行按位或处理,从而得到第一层级数值对应的第四压缩权限数值。
当预设值为1的时候,按位或可以实现在第二压缩权限数值中任一个为1的比特位在第四压缩权限数值中也对应为1,以及在第三压缩权限数值中任一个为1的比特位在第四压缩权限数值中也对应为1,从而可以实现针对第一层级数值所对应的权限点的取并集操作。当预设值为0的时候,按位或可以相应的替换为按位与操作。
例如在图16的示例中,层级数值0是在第一权限点E对应的指示信息{0,2}以及第二目标权限数据{(0,17),(1,10)}均存在的,因此层级数值0就作为第一层级数值。那么就可以根据第一层级数值0对应的第二压缩权限数值2,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17进行按位或处理,从而得到第一层级数值0对应的第四压缩权限数值19。
按位或处理的具体实现可以参照图16中1601示意的内容进行理解,其中第一层级数值0对应的第二压缩权限数值2对应图16中示意的0…00010这8个字节,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17对应图16中示意的0…10010这8个字节,那么这两个8字节的数据进行按位或的结果就是1601中示意的0…10011这8个字节,对应的十进制就是19。
参照图16可以理解的是,第一层级数值0对应的第四压缩权限数值19对应的就是0…10011这8个字节,其中第1个比特位为1,指示目标角色具备权限点A对应的权限,第2个比特位为1,指示目标角色具备权限点E对应的权限,第5个比特位为1,指示目标角色具备权限点B对应的权限。
其次,针对仅在第一权限点各自对应的指示信息中包括的任一个第二层级数值,也就是说第二层级数值是仅在第一权限点对应的指示信息中存在,在待操作角色的第二目标权限数据中是不存在的,但是因为当前要进行的取并集操作,因此可以直接将第二层级数值对应的第二压缩权限数值,确定为第二层级数值对应的第四压缩权限数值。当前这种情况在图16中未示出。
最后,针对仅在第二目标权限数据中包括的任一个第三层级数值,也就是说第三层级数值是仅在待操作角色的第二目标权限数据中存在,在第一权限点对应的指示信息中是不存在的,但是因为当前要进行的取并集操作,因此可以直接将在第二目标权限数据中第三层级数值对应的第三压缩权限数值,确定为第三层级数值对应的第四压缩权限数值。
例如在图16中,层级数值1就是仅在第二压缩权限数值{(0,17),(1,10)}中存在的,因此可以将在第二目标权限数据中第三层级数值1对应的第三压缩权限数值10,确定为第三层级数值1对应的第四压缩权限数值。
在完成上述介绍的处理之后,就可以根据各第一层级数值以及各第一层级数值各自对应的第四压缩权限数值,各第二层级数值以及各第二层级数值各自对应的第四压缩权限数值,各第三层级数值以及各第三层级数值各自对应的第四压缩权限数值,生成目标角色所关联的第一目标权限数据。其实现方式与上述介绍的类似,针对任一个层级数值,可以将层级数值和对应的第四压缩权限数值作为一条关联数据,然后将多条关联数据的集合确定为目标角色所关联的第一目标权限数据。
参照图16,针对目标角色最终生成的第一目标权限数据就包括{(0,19),(1,10)},其中第一目标权限数据指示了权限A、权限B、权限C、权限D和权限E,因此基于当前介绍的示例,可以有效的实现将第一权限点和对待操作角色所配置的权限点取并集,从而实现对目标角色的权限配置,在此过程中用户只需要进行对权限E的选择操作即可,无需再重复选择权限A~权限D,因此可以有效的节省用户操作,提升生产效率。
首先对目标操作为取差集的实现方式进行说明。
可以理解的是,当目标操作为取差集的时候,就表示需要在为待操作角色所配置的各个权限点所组成的集合中,去除掉在权限配置界面中所选择的第一权限点,从而得到为目标角色所配置的目标权限点。
同时,在各个第一权限点各自对应的指示信息中包括多个层级数值,在待操作角色的第二目标权限数据中同样包括多个层级数值,因为当前是进行取差集的操作,因此第二目标权限数据对应的层级数值是覆盖第一权限点所对应的层级数值的,因此只需要关注第二目标权限数据对应的层级数值即可。
下面结合图17进行理解,图17为本申请实施例提供的确定目标角色的实现示意图三。
假设当前确定的待操作角色为角色A,以及针对角色A所配置的权限点包括图17所示的权限点A、权限点B、权限点C和权限点D,相关数据与上述图15介绍的类似,此处不再赘述。
以及,假设当前用户在权限配置界面所选择的第一权限点为权限点A,其中权限点A的指示信息为(0,1)。因为当前只存在一个第一权限点,因此第一权限点所对应的第二压缩权限数值也就只包括1。
在此基础上,下面对确定第一目标权限数据的实现方式进行说明。
首先,针对各第一权限点各自对应的指示信息以及第二目标权限数据中均包括的任一个第一层级数值,因为第一层级数值在两部分数据中都是存在的,那么就需要根据第一层级数值对应的第二压缩权限数值以及在第二目标权限数据中第一层级数值对应的第三压缩权限数值进行按位异或处理,从而得到第一层级数值对应的第四压缩权限数值。
当预设值为1的时候,按位异或可以实现在第二压缩权限数值中为1,以及在第三压缩权限数值中也为1的比特位,在第四压缩权限数值中对应为0,这样就实现了取差值处理的目的;以及,在第二压缩权限数值和第三压缩权限数值中均为0的比特位,在第四压缩权限数值中仍然为0;以及,在第二压缩权限数值中为0的比特位,而在第三压缩权限数值中为1的比特位,在第四压缩权限数值中为1,这样就保证了对待操作角色所配置的各个权限点所组成的集合中,除第一权限点之外的其余权限点不产生影响。
以及,当预设值为0的时候,按位异或可以相应的替换为按位同或操作。
例如在图17的示例中,层级数值0是在第一权限点A对应的指示信息{0,1}以及第二目标权限数据{(0,17),(1,10)}均存在的,因此层级数值0就作为第一层级数值。那么就可以根据第一层级数值0对应的第二压缩权限数值1,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17进行按位异或处理,从而得到第一层级数值0对应的第四压缩权限数值16。
按位异或处理的具体实现可以参照图17中1701示意的内容进行理解,其中第一层级数值0对应的第二压缩权限数值1对应图17中示意的0…00001这8个字节,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17对应图17中示意的0…10001这8个字节,那么这两个8字节的数据进行按位异或的结果就是1701中示意的0…10000这8个字节,对应的十进制就是16。
参照图17可以理解的是,第一层级数值0对应的第四压缩权限数值16对应的就是0…10000这8个字节,其中第5个比特位为1,指示目标角色具备权限点B对应的权限,实现了对权限点A的剔除。
其次,针对仅在第二目标权限数据中包括的任一个第二层级数值,也就是说第二层级数值是仅在待操作角色的第二目标权限数据中存在,在第一权限点对应的指示信息中是不存在的,但是因为当前要进行的取差值操作,不影响这部分数据,因此可以直接将在第二目标权限数据中第二层级数值对应的第二压缩权限数值,确定为第二层级数值对应的第四压缩权限数值。
例如在图17中,层级数值1就是仅在第二压缩权限数值{(0,17),(1,10)}中存在的,因此可以将在第二目标权限数据中第二层级数值1对应的第二压缩权限数值10,确定为第二层级数值1对应的第四压缩权限数值。
在完成上述介绍的处理之后,就可以根据各第一层级数值以及各第一层级数值各自对应的第四压缩权限数值,各第二层级数值以及各第二层级数值各自对应的第四压缩权限数值,生成目标角色所关联的第一目标权限数据。其实现方式与上述介绍的类似,针对任一个层级数值,可以将层级数值和对应的第四压缩权限数值作为一条关联数据,然后将多条关联数据的集合确定为目标角色所关联的第一目标权限数据。
参照图17,针对目标角色最终生成的第一目标权限数据就包括{(0,16),(1,10)},其中第一目标权限数据指示了权限B、权限C、权限D,因此基于当前介绍的示例,可以有效的实现将第一权限点和对待操作角色所配置的权限点取差集,从而实现对目标角色的权限配置,在此过程中用户只需要进行对权限A的选择操作即可,无需再重复选择权限B、权限C、权限D,因此可以有效的节省用户操作,提升生产效率。
最后再对目标操作为取交集的实现方式进行说明。
可以理解的是,当目标操作为取交集的时候,就表示需要在为待操作角色所配置的各个权限点所组成的集合中,确定和在权限配置界面中所选择的第一权限点的交集部分,从而得到为目标角色所配置的目标权限点。
同时,在各个第一权限点各自对应的指示信息中包括多个层级数值,在待操作角色的第二目标权限数据中同样包括多个层级数值,因为当前是进行取交集的操作,因此只需要关注在第二目标权限数据和各个第一权限点各自对应的指示信息中均存在的层级数值即可。
下面结合图18进行理解,图18为本申请实施例提供的确定目标角色的实现示意图四。
假设当前确定的待操作角色为角色A,以及针对角色A所配置的权限点包括图18所示的权限点A、权限点B、权限点C和权限点D,相关数据与上述图15介绍的类似,此处不再赘述。
以及,假设当前用户在权限配置界面所选择的第一权限点为权限点A,其中权限点A的指示信息为(0,1)。因为当前只存在一个第一权限点,因此第一权限点所对应的第二压缩权限数值也就只包括1。
在此基础上,下面对确定第一目标权限数据的实现方式进行说明。
首先,针对各第一权限点各自对应的指示信息以及第二目标权限数据中均包括的任一个第一层级数值,因为第一层级数值在两部分数据中都是存在的,那么就需要根据第一层级数值对应的第二压缩权限数值以及在第二目标权限数据中第一层级数值对应的第三压缩权限数值进行按位与处理,从而得到第一层级数值对应的第四压缩权限数值。
当预设值为1的时候,按位与可以实现在第二压缩权限数值和在第三压缩权限数值中均为1的比特位,在第四压缩权限数值中对应为1,除此之外的其余比特位在第四压缩权限数值中均对应为0,从而实现取交集的目的。以及,当预设值为0的时候,按位与可以相应的替换为按位或操作。
例如在图18的示例中,层级数值0是在第一权限点A对应的指示信息{0,1}以及第二目标权限数据{(0,17),(1,10)}均存在的,因此层级数值0就作为第一层级数值。那么就可以根据第一层级数值0对应的第二压缩权限数值17,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17进行按位与处理,从而得到第一层级数值0对应的第四压缩权限数值17。
按位与处理的具体实现可以参照图18中1801示意的内容进行理解,其中第一层级数值0对应的第二压缩权限数值1对应图18中示意的0…00001这8个字节,以及在第二目标权限数据中第一层级数值0对应的第三压缩权限数值17对应图18中示意的0…10001这8个字节,那么这两个8字节的数据进行按位与的结果就是1801中示意的0…00001这8个字节,对应的十进制就是1。
参照图18可以理解的是,第一层级数值0对应的第四压缩权限数值1对应的就是0…00001这8个字节,其中第1个比特位为1,指示目标角色具备权限点A对应的权限,实现了角色A的权限点和第一权限点取交集的目的。
在完成上述介绍的处理之后,就可以根据各第一层级数值以及各第一层级数值各自对应的第四压缩权限数值,生成目标角色所关联的第一目标权限数据。其实现方式与上述介绍的类似,针对任一个层级数值,可以将层级数值和对应的第四压缩权限数值作为一条关联数据,然后将多条关联数据的集合确定为目标角色所关联的第一目标权限数据。
参照图18,针对目标角色最终生成的第一目标权限数据就包括{(0,1)},其中第一目标权限数据指示了权限A,因此基于当前介绍的示例,可以有效的实现将第一权限点和对待操作角色所配置的权限点取交集,从而实现对目标角色的权限配置。
在上述示例中,介绍的是要针对目标角色配置权限A,然后用户选择权限A作为第一权限点,然后再和待操作角色的多个权限点取交集,最终实现将权限A配置给目标角色。这个示例看起来像是将用户已经进行了选择操作所选择出的第一权限点又进行了一次取交集的操作,然后才最终配置给目标角色,似乎取交集的处理有些多余。但是此处需要说明的是,当前示例只是为了便于介绍取交集的处理逻辑所作出的比较简化的示例。
在实际实现过程中,用户在权限配置界面中选择第一权限点的时候,例如可以通过第一行数据的选择控件实现对当前界面中所显示的权限点的全选,也就是说将当前权限配置界面中所显示的全部权限点均确定为第一权限点,然后再根据第一权限点和待操作角色的多个权限点进行取交集的操作,从而实现将交集对应的权限点配置给目标角色。
或者,用户在权限配置界面中选择第一权限点的时候,针对每一个类别的权限点都可以设置有一个整体的选择控件,则用户例如可以通过类别对应的选择控件,实现对某一个或者某些类别的权限点的全部选择,然后用户实际上需要的是这些被选择的第一权限点和待操作角色的多个权限点的交集,因此可以再根据第一权限点和待操作角色的多个权限点进行取交集的操作,从而实现将交集对应的权限点配置给目标角色。
因此,通过取交集的操作,用户就只需要在界面中针对少数的选择控件进行选择操作,就可以实现对目标角色的衍生,从而避免大量的重复选择的操作,以有效的节省用户操作,提升生产效率。
综上所述,在本实施例中,在每个层级数值所对应的压缩权限数值中,每个比特位都可以指示一个权限点,因此可以基于已有角色的压缩权限数值和第一权限点对应的压缩权限数值进行位运算,从而实现待操作角色的权限点和第一权限点之间的取差值、取交集、取并集等操作,从而快速高效的衍生出需要的目标角色的第一目标权限数值。
在上述各实施例介绍内容的基础上,系统后台在生成角色并对角色的目标权限数据存储之后,可以响应于账号的申请,为账号分配相应的角色,从而实现系统中的权限管理。
因此在一种可能的实现方式中,可以响应基于第一账号所发送的角色分配请求,为第一账号关联角色分配请求所指示的第一角色。
示例性的,角色分配请求中可以携带第一账号的账号信息,以及第一账号所要申请的第一角色的角色标识。系统后台在接收到角色分配请求之后,可以基于相应的规则或者指令,判断是否可以为第一账号分配第一角色,若确定可以分配,则例如可以建立第一账号和第一角色的关联关系,从而实现为第一账号关联第一角色。
基于上述实施例的介绍可以确定的是,分配不同角色的账号在登录系统之后,系统界面中所显示的具体内容也会有所不同,具体的,每个账号的系统界面中会显示其与所对应的角色相关联的各个权限点的系统资源,针对对应角色未关联的权限点的系统资源,在系统界面中不会显示,以有效的实现系统的权限管理。
而要实现上述介绍的不同角色的账号的系统界面不同,就要保证系统后台在收到账号的登录请求的时候,需要解析每个账号所对应的权限点具体包括哪些,然后再发送相应的资源。
因此在一种可能的实现方式中,本实施例中的系统后台还可以接收第一账号所发送的登录请求,之后对登录请求进行处理,从而解析第一账号所关联的第一角色。示例性的,第一账号所关联的第一角色在后台有数据记录,直接查询即可。
以及,在后台还存储有各个角色所关联的目标权限数据,因此本实施例中可以获取第一角色所关联的第一目标权限数据;
之后,可以解析第一目标权限数据,以确定第一角色具备权限的至少一个关联权限点。可以理解的是,第一目标权限数据中包括多条关联数据,在每一条关联数据中都包括一个层级数值和一个压缩权限数值,层级数值用于指示压缩层级数值所对应的权限层级,则压缩权限数值则为K个比特,其中K个比特分别对应当前权限层级中的K个权限点,在这K个比特中取值为预设值的比特所对应的权限点,即为当前角色具备权限的关联权限点。按照这样的解析方式,后台可以分析确定当前第一角色具备权限的至少一个关联权限点。
之后,根据至少一个关联权限点,向第一账号所对应的登录设备发送各关联权限点各自对应的界面数据,以使得第一账号所对应的登录设备根据各界面数据显示第一账号对应的系统界面。从而可以有效的实现针对不同的账号,根据各自对应的角色显示相应的系统界面,以有序的实现针对系统的权限管理。
上面已对本申请实施例的权限管理方法进行了说明,下面对本申请实施例提供的执行上述权限管理方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的相关装置可以执行上述权限管理方法中的步骤。
图19为本申请实施例提供的权限管理装置的结构示意图。如图19所示,该装置190包括:确定模块1901、获取模块1902、处理模块1903;
确定模块1901,用于确定针对目标角色所配置的至少一个目标权限点;
获取模块1902,用于获取各所述目标权限点各自对应的指示信息,所述指示信息中包括用于表示所述目标权限点的权限数值,所述权限数值中包括一个与所述目标权限点相对应的指示比特位,在所述权限数值中所述指示比特位的取值为第一预设值;
所述确定模块1901还用于,根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,所述第一压缩权限数值中包括与各所述目标权限点各自对应的指示比特位,且在所述第一压缩权限数值中各所述指示比特位的取值均为所述第一预设值,取值为所述第一预设值的所述指示比特位用于指示所述目标角色具备与所述指示比特位相对应的目标权限点的权限;
处理模块1903,用于根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据。
在一些实现方式中,所述指示信息还包括层级数值,所述层级数值用于指示所述目标权限点所对应的权限层级;
针对任一个所述权限层级中的多个权限点,各所述权限点各自对应的权限数值中,所述指示比特位的位置各不相同。
在一些实现方式中,所述确定模块1901具体用于:
针对任一个所述层级数值,在各所述目标权限点各自对应的指示信息中,确定包括所述层级数值的多个指示信息;
将包括所述层级数值的多个指示信息中的权限数值进行按位或操作,得到所述层级数值所对应的第一压缩权限数值。
在一些实现方式中,所述确定模块1901具体用于:
针对任一个所述层级数值,将所述层级数值以及所述层级数值所对应的第一压缩权限数值确定为一条关联数据;
将各所述关联数据的集合,确定为所述目标角色所关联的第一目标权限数据;
将所述目标角色和所述第一目标权限数据进行关联存储。
在一些实现方式中,所述确定模块1901具体用于:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为针对所述目标角色所配置的目标权限点。
在一些实现方式中,所述处理模块1903还用于:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为第一权限点,并根据各所述第一权限点各自对应的指示信息,确定所述第一权限点对应的第二压缩权限数值;
响应作用于权限配置界面的角色选择控件的操作,将至少一个已生成的角色中被选择的角色确定为待操作角色,并获取所述待操作角色所关联的第二目标权限数据;
响应作用于所述权限配置界面的操作选择控件的操作,确定目标操作,所述目标操作为如下中的任一种:取并集、取差集、取交集;
根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取并集时,所述处理模块1903具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第一权限点各自对应的指示信息中包括的任一个第二层级数值,将所述第二层级数值对应的第二压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第三层级数值,将在所述第二目标权限数据中所述第三层级数值对应的第三压缩权限数值,确定为所述第三层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,各所述第三层级数值以及各所述第三层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取差集时,所述处理模块1903具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位异或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第二层级数值,将在所述第二目标权限数据中所述第二层级数值对应的第三压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,在所述目标操作为取交集时,所述处理模块1903具体用于:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位与处理,得到所述第一层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
在一些实现方式中,每个所述权限层级中的多个权限点为同一类别的,所述权限点的类别是预先划分的。
在一些实现方式中,所述权限数值包括K个字节,所述层级数值为L个字节,所述K和所述L为大于或等于1的整数。
在一些实现方式中,所述权限数值的取值类型为长整型,所述层级数值的取值类型为整型或短整型。
在一些实现方式中,所述处理模块1903还用于:
响应基于第一账号所发送的角色分配请求,为所述第一账号关联所述角色分配请求所指示的第一角色。
在一些实现方式中,所述处理模块1903还用于:
响应基于所述第一账号所发送的登录请求,解析所述第一账号所关联的所述第一角色;
获取所述第一角色所关联的第一目标权限数据;
解析所述第一目标权限数据,以确定所述第一角色具备权限的至少一个关联权限点;
根据所述至少一个关联权限点,向所述第一账号所对应的登录设备发送各所述关联权限点各自对应的界面数据,以使得所述第一账号所对应的登录设备根据各所述界面数据显示所述第一账号对应的系统界面。
本申请实施例提供的权限管理方法方法,可以应用在具备通信功能的电子设备中。电子设备包括终端设备,终端设备也可以称为终端(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
本申请实施例提供一种终端设备,图20为本申请实施例提供的终端设备的硬件结构示意图。
如图20所示,该终端设备200包括:包括:处理器2001和存储器2002;存储器2002存储计算机执行指令;处理器2001执行存储器2002存储的计算机执行指令,使得终端设备200执行上述方法。
当存储器2002独立设置时,该终端设备还包括总线2003,用于连接所述存储器2002和处理器2001。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括RAM,ROM,只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (15)

1.一种权限管理方法,其特征在于,包括:
确定针对目标角色所配置的至少一个目标权限点;
获取各所述目标权限点各自对应的指示信息,所述指示信息中包括用于表示所述目标权限点的权限数值,所述权限数值中包括一个与所述目标权限点相对应的指示比特位,在所述权限数值中所述指示比特位的取值为第一预设值;
根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,所述第一压缩权限数值中包括与各所述目标权限点各自对应的指示比特位,且在所述第一压缩权限数值中各所述指示比特位的取值均为所述第一预设值,取值为所述第一预设值的所述指示比特位用于指示所述目标角色具备与所述指示比特位相对应的目标权限点的权限;
根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据;
所述方法还包括:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为第一权限点,并根据各所述第一权限点各自对应的指示信息,确定所述第一权限点对应的第二压缩权限数值;
响应作用于权限配置界面的角色选择控件的操作,将至少一个已生成的角色中被选择的角色确定为待操作角色,并获取所述待操作角色所关联的第二目标权限数据;
响应作用于所述权限配置界面的操作选择控件的操作,确定目标操作,所述目标操作为如下中的任一种:取并集、取差集、取交集;
根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据。
2.根据权利要求1所述的方法,其特征在于,所述指示信息还包括层级数值,所述层级数值用于指示所述目标权限点所对应的权限层级;
针对任一个所述权限层级中的多个权限点,各所述权限点各自对应的权限数值中,所述指示比特位的位置各不相同。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述目标权限点各自对应的权限数值进行合并处理,确定所述目标权限点对应的第一压缩权限数值,包括:
针对任一个所述层级数值,在各所述目标权限点各自对应的指示信息中,确定包括所述层级数值的多个指示信息;
将包括所述层级数值的多个指示信息中的权限数值进行按位或操作,得到所述层级数值所对应的第一压缩权限数值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一压缩权限数值,生成并存储所述目标角色所关联的第一目标权限数据,包括:
针对任一个所述层级数值,将所述层级数值以及所述层级数值所对应的第一压缩权限数值确定为一条关联数据;
将各所述关联数据的集合,确定为所述目标角色所关联的第一目标权限数据;
将所述目标角色和所述第一目标权限数据进行关联存储。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述确定针对目标角色所配置的至少一个目标权限点,包括:
响应作用于权限配置界面的至少一个选择控件的操作,将各所述选择控件各自对应的权限点确定为针对所述目标角色所配置的目标权限点。
6.根据权利要求1所述的方法,其特征在于,在所述目标操作为取并集时,所述根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第一权限点各自对应的指示信息中包括的任一个第二层级数值,将所述第二层级数值对应的第二压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第三层级数值,将在所述第二目标权限数据中所述第三层级数值对应的第三压缩权限数值,确定为所述第三层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,各所述第三层级数值以及各所述第三层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
7.根据权利要求1所述的方法,其特征在于,在所述目标操作为取差集时,所述根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位异或处理,得到所述第一层级数值对应的第四压缩权限数值;以及,
针对仅在所述第二目标权限数据中包括的任一个第二层级数值,将在所述第二目标权限数据中所述第二层级数值对应的第三压缩权限数值,确定为所述第二层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,各所述第二层级数值以及各所述第二层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
8.根据权利要求1所述的方法,其特征在于,在所述目标操作为取交集时,所述根据所述第一权限点对应的第二压缩权限数值以及所述第二目标权限数据执行所述目标操作,以生成所述目标角色所关联的第一目标权限数据,包括:
针对各所述第一权限点各自对应的指示信息以及所述第二目标权限数据中均包括的任一个第一层级数值,根据所述第一层级数值对应的第二压缩权限数值以及在所述第二目标权限数据中所述第一层级数值对应的第三压缩权限数值进行按位与处理,得到所述第一层级数值对应的第四压缩权限数值;
根据各所述第一层级数值以及各所述第一层级数值各自对应的第四压缩权限数值,生成所述目标角色所关联的第一目标权限数据。
9.根据权利要求2所述的方法,其特征在于,每个所述权限层级中的多个权限点为同一类别的,所述权限点的类别是预先划分的。
10.根据权利要求2或3所述的方法,其特征在于,所述权限数值包括K个字节,所述层级数值为L个字节,所述K和所述L为大于或等于1的整数。
11.根据权利要求2或3所述的方法,其特征在于,所述权限数值的取值类型为长整型,所述层级数值的取值类型为整型或短整型。
12.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
响应基于第一账号所发送的角色分配请求,为所述第一账号关联所述角色分配请求所指示的第一角色。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
响应基于所述第一账号所发送的登录请求,解析所述第一账号所关联的所述第一角色;
获取所述第一角色所关联的第一目标权限数据;
解析所述第一目标权限数据,以确定所述第一角色具备权限的至少一个关联权限点;
根据所述至少一个关联权限点,向所述第一账号所对应的登录设备发送各所述关联权限点各自对应的界面数据,以使得所述第一账号所对应的登录设备根据各所述界面数据显示所述第一账号对应的系统界面。
14.一种终端设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行如权利要求1-13中任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-13任一项所述的方法。
CN202311387119.4A 2023-10-25 2023-10-25 权限管理方法及装置 Active CN117113313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311387119.4A CN117113313B (zh) 2023-10-25 2023-10-25 权限管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311387119.4A CN117113313B (zh) 2023-10-25 2023-10-25 权限管理方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410391954.3A Division CN118427793A (zh) 2023-10-25 权限管理方法及装置

Publications (2)

Publication Number Publication Date
CN117113313A CN117113313A (zh) 2023-11-24
CN117113313B true CN117113313B (zh) 2024-04-09

Family

ID=88813251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311387119.4A Active CN117113313B (zh) 2023-10-25 2023-10-25 权限管理方法及装置

Country Status (1)

Country Link
CN (1) CN117113313B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282649B1 (en) * 1997-09-19 2001-08-28 International Business Machines Corporation Method for controlling access to electronically provided services and system for implementing such method
JP2007172154A (ja) * 2005-12-20 2007-07-05 Mitsubishi Space Software Kk アクセス制御装置及びアクセス制御方法及びアクセス制御プログラム
CN102231693A (zh) * 2010-04-22 2011-11-02 北京握奇数据系统有限公司 访问权限的管理方法及装置
CN103368765A (zh) * 2012-04-10 2013-10-23 阿里巴巴集团控股有限公司 一种管理系统权限添加方法和装置
CN108959910A (zh) * 2018-07-13 2018-12-07 中国建设银行股份有限公司 参数设置方法及装置
CN110399747A (zh) * 2019-07-18 2019-11-01 佳都新太科技股份有限公司 一种用户权限关联方法、查询方法及装置
CN113032768A (zh) * 2021-03-31 2021-06-25 广州锦行网络科技有限公司 鉴权方法、装置、设备及计算机可读介质
CN116821136A (zh) * 2023-07-21 2023-09-29 传播大脑科技(浙江)股份有限公司 一种压缩菜单权限编码方法、系统以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6820725B2 (ja) * 2016-11-22 2021-01-27 東芝テック株式会社 情報処理装置及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282649B1 (en) * 1997-09-19 2001-08-28 International Business Machines Corporation Method for controlling access to electronically provided services and system for implementing such method
JP2007172154A (ja) * 2005-12-20 2007-07-05 Mitsubishi Space Software Kk アクセス制御装置及びアクセス制御方法及びアクセス制御プログラム
CN102231693A (zh) * 2010-04-22 2011-11-02 北京握奇数据系统有限公司 访问权限的管理方法及装置
CN103368765A (zh) * 2012-04-10 2013-10-23 阿里巴巴集团控股有限公司 一种管理系统权限添加方法和装置
CN108959910A (zh) * 2018-07-13 2018-12-07 中国建设银行股份有限公司 参数设置方法及装置
CN110399747A (zh) * 2019-07-18 2019-11-01 佳都新太科技股份有限公司 一种用户权限关联方法、查询方法及装置
CN113032768A (zh) * 2021-03-31 2021-06-25 广州锦行网络科技有限公司 鉴权方法、装置、设备及计算机可读介质
CN116821136A (zh) * 2023-07-21 2023-09-29 传播大脑科技(浙江)股份有限公司 一种压缩菜单权限编码方法、系统以及存储介质

Also Published As

Publication number Publication date
CN117113313A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
KR101522014B1 (ko) 앱 아이콘을 관리하는 방법, 장치 및 기록매체
CN100481001C (zh) 界面自动生成方法和界面自动生成系统
CN106970958B (zh) 一种流文件的查询与存储方法和装置
CN108255709A (zh) 脚本测试代码编写的方法、装置、终端设备及存储介质
CN110807015A (zh) 一种大数据资产价值交付管理方法及系统
US9280370B2 (en) System structure management device, system structure management method, and program
US11811839B2 (en) Managed distribution of data stream contents
CN111125027B (zh) 一种航空接口控制文件管理系统
CN111966633B (zh) 用于查询目录下子节点的方法、装置、电子设备及介质
US20090248596A1 (en) Configuration information management apparatus, configuration information management program, and configuration information management method
US20200186869A1 (en) Method and apparatus for referencing, filtering, and combining content
CN108733311A (zh) 用于管理存储系统的方法和设备
CN107451138A (zh) 一种分布式文件系统存储方法和系统
CN106502760B (zh) 一种虚拟机亲和性策略可视化的方法及装置
CN103123660A (zh) 一种对软硬件系统cad图形化建模的方法
CN111666100A (zh) 软件框架生成方法、装置、电子设备及存储介质
CN117113313B (zh) 权限管理方法及装置
CN102222193A (zh) 数据权限设置装置和数据权限设置方法
KR101589969B1 (ko) 네트워크형 파일 관리 방법 및 시스템
CN112138380A (zh) 一种游戏中数据编辑的方法和装置
CN118427793A (zh) 权限管理方法及装置
US20050165787A1 (en) Management computer and method of managing data storage apparatus
CN109214207A (zh) 多用户访问的网络中权限的管理方法和装置
CN114253920A (zh) 一种交易重新排序方法、装置、设备及可读存储介质
CN104111768A (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
GR01 Patent grant
GR01 Patent grant