基于自定义指令的权限控制方法、装置和计算机设备制造方法及图纸

技术编号:29097168 阅读:11 留言:0更新日期:2021-06-30 10:07
本申请涉及研发管理技术领域,提供一种基于自定义指令的权限控制方法、装置和计算机设备,方法包括:获取页面包含的页面组件;从页面组件中筛选出目标组件;其中,目标组件为需要设置权限控制的组件;生成预设的全局Vue自定义指令;获取预先编写的bind函数与权限过滤方法;在全局Vue自定义指令中进行bind函数以及权限过滤方法的封装处理,得到封装后的目标自定义指令;在各目标组件内分别添加目标自定义指令,以基于目标自定义指令实现对于各目标组件的权限控制。本申请降低了组件权限控制的开发工作量与开发成本,提升了组件权限控制的处理效率,提高了组件权限控制的智能性。本申请还可以应用于区块链领域,上述目标自定义指令可以存储于区块链上。可以存储于区块链上。可以存储于区块链上。

【技术实现步骤摘要】
基于自定义指令的权限控制方法、装置和计算机设备


[0001]本申请涉及研发管理
,具体涉及一种基于自定义指令的权限控制方法、装置和计算机设备。

技术介绍

[0002]当前,权限控制在现代的web(World Wide Web,全球广域网或万维网)系统中,特别在后台管理类系统中是一种常见的需求。现有的实现组件权限控制的处理方式,通常是对需要进行权限控制的页面组件逐一去调用控制权限的处理逻辑代码,并基于不同的处理逻辑代码来单独控制对应的组件的呈现状态以实现相应的权限控制。这样的权限控制方式需要提前为每个组件分别编写对应的实现权限控制的处理逻辑代码,使得开发人员的重复工作量较多,开发成本高且开发效率低,组件的权限控制的智能性也较低。

技术实现思路

[0003]本申请的主要目的为提供一种基于自定义指令的权限控制方法、装置、计算机设备和存储介质,旨在解决现有的权限控制方式需要提前为每个组件分别编写对应的实现权限控制的处理逻辑代码,使得开发人员的重复工作量较多,开发成本高且开发效率低,组件的权限控制的智能性也较低的技术问题。
[0004]本申请提出一种基于自定义指令的权限控制方法,所述方法包括步骤:
[0005]获取页面包含的页面组件;
[0006]从所述页面组件中筛选出目标组件;其中,所述目标组件为需要设置权限控制的组件;
[0007]生成预设的全局Vue自定义指令;
[0008]获取预先编写的bind函数与权限过滤方法;其中,所述bind函数属于钩子函数,所述bind函数至少包括三个参数,所述三个参数分别为组件元素、包含可配置属性的对象以及Vue编译生成的虚拟节点,所述bind函数用于获取所述组件元素的操作权限信息;所述权限过滤方法为基于所述组件元素的操作权限信息编写生成的处理逻辑方法,用于判断访问用户对所述组件元素是否具备可视权限,以及用于在所述访问用户具备所述可视权限时,判断所述访问用户对所述组件元素是否具备操作权限;
[0009]在所述全局Vue自定义指令中进行所述bind函数以及所述权限过滤方法的封装处理,得到封装后的目标自定义指令;
[0010]在各所述目标组件内分别添加所述目标自定义指令,以基于所述目标自定义指令实现对于各所述目标组件的权限控制。
[0011]可选地,所述从所述页面组件中筛选出目标组件的步骤,包括:
[0012]分别获取各所述页面组件的影响度数值,以及分别获取各所述页面组件的使用次数值;
[0013]获取与所述影响度数值对应的第一权重值,以及获取与所述使用次数值对应的第
二权重值;
[0014]基于所述第一权重值、所述第二权重值、所述影响度数值以及所述使用次数值,调用预设的计算公式计算生成与各所述页面组件分别对应的权限分数值;
[0015]获取预设的权限分数阈值,从所有所述权限分数值中筛选出大于所述权限分数阈值的目标权限分数值;
[0016]从所有所述页面组件中筛选出与所述目标权限分数值对应的第一组件;
[0017]接收目标用户输入的第二组件;
[0018]对所述第一组件与所述第二组件进行合并去重处理,得到处理后的第三组件;
[0019]将所述第三组件作为所述目标组件。
[0020]可选地,所述在各所述目标组件内分别添加所述目标自定义指令,以基于所述目标自定义指令实现对于各所述目标组件的权限控制的步骤之后,包括:
[0021]在接收到用户触发的访问包含有指定组件的指定页面的访问请求时,获取与所述用户对应的用户信息;其中,所述指定组件内添加有所述目标自定义指令;
[0022]调用与所述包含可配置属性的对象对应的第一方法,获取与所述指定组件对应的名单数据;
[0023]调用所述权限过滤方法,基于所述权限过滤方法的处理逻辑,使用所述名单数据与所述用户信息对所述用户进行第一权限验证处理,并判断所述第一权限验证处理的结果是否为验证通过;
[0024]若为验证通过,调用与所述虚拟节点对应的第二方法,获取所述指定组件的上下文数据;其中,所述上下文数据至少包括用户角色权限数据;
[0025]调用所述权限过滤方法,并基于所述权限过滤方法的处理逻辑,使用所述上下文数据对所述用户进行第二权限验证处理,得到对应的验证结果;
[0026]基于所述验证结果,执行对于所述指定组件的操作控制处理。
[0027]可选地,所述名单数据至少包括白名单数据;所述使用所述名单数据与所述用户信息对所述用户进行第一权限验证处理,并判断所述第一权限验证处理的结果是否为验证通过的步骤,包括:
[0028]从所述名单数据获取所述白名单数据;
[0029]判断所述用户信息是否存在于所述白名单数据内;
[0030]若所述用户信息存在于所述白名单数据内,则判断所述名单数据是否包含有黑名单数据;
[0031]若所述名单数据包含有所述黑名单数据,则判断所述用户信息是否存在于所述黑名单数据内;
[0032]若所述用户信息不存在于所述黑名单数据内,判定所述第一权限验证处理的结果为验证通过;
[0033]若所述用户信息存在于所述黑名单数据内,判定所述第一权限验证处理的结果不为验证通过。
[0034]可选地,所述使用所述上下文数据对所述用户进行第二权限验证处理,得到对应的验证结果的步骤,包括:
[0035]从所述用户角色权限信息中获取与所述用户信息对应的第一权限信息;
[0036]判断所述第一权限信息中是否包含与所述指定组件对应的第二权限信息;
[0037]若包含所述第二权限信息,从所述第一权限信息中获取所述第二权限信息;
[0038]基于所述第二权限信息,判断所述用户是否具备对于所述指定组件的可操作权限;
[0039]若所述用户具备对于所述指定组件的可操作权限,生成验证通过的第一验证结果;
[0040]若所述用户不具备对于所述指定组件的可操作权限,生成验证未通过的第二验证结果。
[0041]可选地,所述调用与所述虚拟节点对应的第二方法,获取所述指定组件的上下文数据的步骤之后,包括:
[0042]判断所述上下文数据中是否包含有组件参数数据;
[0043]若包含有所述组件参数数据,从所述上下文数据中获取所述组件参数数据;
[0044]基于所述组件参数数据,获取与所述指定组件对应的关联组件;
[0045]从所述用户角色权限数据中获取所述用户对于所述关联组件的操作权限;
[0046]基于所述操作权限,执行对于所述关联组件的操作控制处理。
[0047]可选地,所述基于所述验证结果,执行对于所述指定组件的操作控制处理的步骤,包括:
[0048]判断所述验证结果是否为验证通过;
[0049]若所述验证结果为验证通过,将所述指定组件设置为显示及可用的第一状态;
[0050]若所述验证结果不为验证通过,将所述指定组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自定义指令的权限控制方法,其特征在于,包括:获取页面包含的页面组件;从所述页面组件中筛选出目标组件;其中,所述目标组件为需要设置权限控制的组件;生成预设的全局Vue自定义指令;获取预先编写的bind函数与权限过滤方法;其中,所述bind函数属于钩子函数,所述bind函数至少包括三个参数,所述三个参数分别为组件元素、包含可配置属性的对象以及Vue编译生成的虚拟节点,所述bind函数用于获取所述组件元素的操作权限信息;所述权限过滤方法为基于所述组件元素的操作权限信息编写生成的处理逻辑方法,用于判断访问用户对所述组件元素是否具备可视权限,以及用于在所述访问用户具备所述可视权限时,判断所述访问用户对所述组件元素是否具备操作权限;在所述全局Vue自定义指令中进行所述bind函数以及所述权限过滤方法的封装处理,得到封装后的目标自定义指令;在各所述目标组件内分别添加所述目标自定义指令,以基于所述目标自定义指令实现对于各所述目标组件的权限控制。2.根据权利要求1所述的基于自定义指令的权限控制方法,其特征在于,所述从所述页面组件中筛选出目标组件的步骤,包括:分别获取各所述页面组件的影响度数值,以及分别获取各所述页面组件的使用次数值;获取与所述影响度数值对应的第一权重值,以及获取与所述使用次数值对应的第二权重值;基于所述第一权重值、所述第二权重值、所述影响度数值以及所述使用次数值,调用预设的计算公式计算生成与各所述页面组件分别对应的权限分数值;获取预设的权限分数阈值,从所有所述权限分数值中筛选出大于所述权限分数阈值的目标权限分数值;从所有所述页面组件中筛选出与所述目标权限分数值对应的第一组件;接收目标用户输入的第二组件;对所述第一组件与所述第二组件进行合并去重处理,得到处理后的第三组件;将所述第三组件作为所述目标组件。3.根据权利要求1所述的基于自定义指令的权限控制方法,其特征在于,所述在各所述目标组件内分别添加所述目标自定义指令,以基于所述目标自定义指令实现对于各所述目标组件的权限控制的步骤之后,包括:在接收到用户触发的访问包含有指定组件的指定页面的访问请求时,获取与所述用户对应的用户信息;其中,所述指定组件内添加有所述目标自定义指令;调用与所述包含可配置属性的对象对应的第一方法,获取与所述指定组件对应的名单数据;调用所述权限过滤方法,基于所述权限过滤方法的处理逻辑,使用所述名单数据与所述用户信息对所述用户进行第一权限验证处理,并判断所述第一权限验证处理的结果是否为验证通过;若为验证通过,调用与所述虚拟节点对应的第二方法,获取所述指定组件的上下文数
据;其中,所述上下文数据至少包括用户角色权限数据;调用所述权限过滤方法,并基于所述权限过滤方法的处理逻辑,使用所述上下文数据对所述用户进行第二权限验证处理,得到对应的验证结果;基于所述验证结果,执行对于所述指定组件的操作控制处理。4.根据权利要求3所述的基于自定义指令的权限控制方法,其特征在于,所述名单数据至少包括白名单数据;所述使用所述名单数据与所述用户信息对所述用户进行第一权限验证处理,并判断所述第一权限验证处理的结果是否为验证通过的步骤,包括:从所述名单数据获取所述白名单数据;判断所述用户信息是否存在于所述白名单数据内;若所述用户信息存在于所述白名单数据内,则判断所述名单数据是否包含有黑名单数据;若所...

【专利技术属性】
技术研发人员:陈景山
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:

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

1