一种前端元素的权限控制方法、装置、存储介质和设备与流程

文档序号:26843570发布日期:2021-10-08 23:46阅读:106来源:国知局
一种前端元素的权限控制方法、装置、存储介质和设备与流程

1.本技术涉及互联网技术领域,尤其涉及一种前端元素的权限控制方法、装置、存储介质和设备。


背景技术:

2.现有的系统通常都需要账号密码进行登录,每个账号还可以细分为多个角色,以便用户使用不同角色登录系统。为了保障用户与企业的利益,每个角色都设置有相应权限,因保证不同权限的角色所访问的内容不同。
3.目前,用户通过前端页面点击前端元素(例如按钮和链接)进行访问时,系统后台会验证用户当前所使用角色的权限,若用户当前使用的角色无权限,则直接提示用户没有权限访问,然而,直接提示用户没有权限访问,会使得用户体验大大下降。


技术实现要素:

4.本技术提供了一种前端元素的权限控制方法、装置、存储介质和设备,目的在于提高用户体验。
5.为了实现上述目的,本技术提供了以下技术方案:
6.一种前端元素的权限控制方法,包括:
7.在检测到用户使用角色登录系统的情况下,获取与所述角色对应的权限信息;所述权限信息基于与所述角色对应的资源集合中每个资源的请求路径和请求参数所生成;
8.在检测到所述用户对前端元素进行访问的情况下,获取针对所述前端元素预先设置的自定义标签,并通过所述自定义标签的属性,获得请求信息;所述请求信息用于指示待请求资源的请求路径和请求参数;
9.判断所述权限信息所示的各个请求路径中,是否包含所述请求信息所示的请求路径;
10.在所述权限信息所示的各个请求路径中,包含所述请求信息所示的请求路径的情况下,判断所述请求信息所示的请求参数,与所述权限信息所示的请求参数是否匹配;
11.在所述请求信息所示的请求参数,与所述权限信息所示的请求参数匹配的情况下,控制所述前端元素显示目标功能;所述目标功能为所示请求信息所示的请求参数所实现的功能;
12.在所述请求信息所示的请求参数,与所述权限信息所示的请求参数不匹配的情况下,控制所述前端元素隐藏所述目标功能;
13.在所述权限信息所示的各个请求路径中,不包含所述请求信息所示的请求路径的情况下,隐藏所述前端元素。
14.可选的,所述权限信息基于与所述角色对应的资源集合中每个资源的请求路径和请求参数所生成,包括:
15.创建与所述角色对应的authmap对象;
16.获取与所述角色对应的资源集合;
17.针对所述资源集合中的每个资源,将所述资源解析为map结构,得到与每个所述资源对应的键值对,并将与每个所述资源对应的键值对,写入到所述authmap对象,得到赋值后的authmap对象;
18.将所述赋值后的authmap对象,作为与所述角色对应的权限信息。
19.可选的,所述将所述资源解析为map结构,包括:
20.针对所述资源的每个请求参数,创建与每个所述请求参数对应的实体;
21.将所述资源的权限标识和资源id,写入到各个所述实体中;
22.对所述资源进行拆分,得到多个url,并记录所述url与所述实体的对应关系;
23.针对每个所述url,在检测到所述url包含所述参数字串的情况下,将所述参数字串解析为map结构,得到与所述请求参数对应的键值对,并将与所述请求参数对应的键值对,写入到与所述url对应的实体中;
24.集合与每个所述url对应的实体,构建所述资源的实体列表;
25.基于所述资源的请求路径和所述实体列表,构建与所述资源对应的键值对;
26.在检测到各个所述url均不包含所述参数字串的情况下,基于所述请求路径和预设实体列表,构建与所述资源对应的键值对;所述预设实体列表不包含任何实体。
27.可选的,所述将所述参数字串解析为map结构,包括:
28.创建与所述参数字串对应的parammap对象;
29.对所述参数字串进行拆分,得到多个字符串;
30.针对每个所述字符串,对所述字符串进行拆分,得到与每个所述字符串对应的参数对;
31.将与每个所述字符串对应的参数对,写入到所述parammap对象中,得到与所述请求参数对应的键值对。
32.可选的,所述通过所述自定义标签的属性,获得请求信息,包括:
33.对所述自定义标签的属性进行解析,得到所述待请求资源的请求路径和请求参数;
34.创建与所述待请求资源对应的reqmap对象;
35.将所述待请求资源解析为map结构,得到与所述待请求资源对应的键值对,并将与所述待请求资源对应的键值对,写入到所述reqmap对象中,得到赋值后的reqmap对象;
36.将所述赋值后的reqmap对象,作为请求信息。
37.可选的,所述将所述待请求资源解析为map结构,包括:
38.针对所述待请求资源的每个请求参数,创建与所述待请求资源的每个请求参数对应的实体;
39.对所述待请求资源进行解析,得到url,并记录所述url与所述实体的对应关系;
40.在检测到所述url包含所述参数字串的情况下,将所述参数字串解析为map结构,得到与所述请求参数对应的键值对,并将与所述请求参数对应的键值对,写入到与所述url对应的实体中;
41.集合与所述url对应的实体,构建所述待请求资源的实体列表;
42.基于所述待请求资源的请求路径和所述实体列表,构建与所述待请求资源对应的
键值对。
43.可选的,所述判断所述请求信息所示的请求参数,与所述权限信息所示的请求参数是否匹配,包括:
44.解析所述权限信息,获得目标资源所包含的实体;所述目标资源为请求路径与所述请求信息所示请求路径相同的资源;
45.解析所述目标资源所包含的实体,得到所述目标资源的请求参数,并生成与所述目标资源的请求参数的值对应的正则表达式;
46.解析所述请求信息所示的请求参数,获得目标参数值;
47.判断所述目标参数值是否满足所述正则表达式;
48.若所述目标参数值满足所述正则表达式,确定所述请求信息所示的请求参数,与所述权限信息所示的请求参数匹配;
49.若所述目标参数值不满足所述正则表达式,确定所述请求信息所示的请求参数,与所述权限信息所示的请求参数不匹配。
50.一种前端元素的权限控制装置,包括:
51.第一获取单元,用于在检测到用户使用角色登录系统的情况下,获取与所述角色对应的权限信息;所述权限信息基于与所述角色对应的资源集合中每个资源的请求路径和请求参数所生成;
52.第二获取单元,用于在检测到所述用户对前端元素进行访问的情况下,获取针对所述前端元素预先设置的自定义标签,并通过所述自定义标签的属性,获得请求信息;所述请求信息用于指示待请求资源的请求路径和请求参数;
53.第一判断单元,用于判断所述权限信息所示的各个请求路径中,是否包含所述请求信息所示的请求路径;
54.第二判断单元,用于在所述权限信息所示的各个请求路径中,包含所述请求信息所示的请求路径的情况下,判断所述请求信息所示的请求参数,与所述权限信息所示的请求参数是否匹配;
55.第一控制单元,用于在所述请求信息所示的请求参数,与所述权限信息所示的请求参数匹配的情况下,控制所述前端元素显示目标功能;所述目标功能为所示请求信息所示的请求参数所实现的功能;
56.第二控制单元,用于在所述请求信息所示的请求参数,与所述权限信息所示的请求参数不匹配的情况下,控制所述前端元素隐藏所述目标功能;
57.隐藏单元,用于在所述权限信息所示的各个请求路径中,不包含所述请求信息所示的请求路径的情况下,隐藏所述前端元素。
58.一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序所述的前端元素的权限控制方法。
59.一种前端元素的权限控制设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
60.所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的前端元素的权限控制方法。
61.本技术提供的技术方案,在检测到用户使用角色登录系统的情况下,获取与角色
对应的权限信息。在检测到用户对前端元素进行访问的情况下,获取针对前端元素预先设置的自定义标签,并通过自定义标签的属性,获得请求信息。判断权限信息所示的各个请求路径中,是否包含请求信息所示的请求路径。在权限信息所示的各个请求路径中,包含请求信息所示的请求路径的情况下,判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配。在请求信息所示的请求参数,与权限信息所示的请求参数匹配的情况下,控制前端元素显示目标功能。在请求信息所示的请求参数,与权限信息所示的请求参数不匹配的情况下,控制前端元素隐藏目标功能。在权限信息所示的各个请求路径中,不包含请求信息所示的请求路径的情况下,隐藏前端元素。本技术所示方法,控制了前端元素的显示,支持自定义标签属性配置资源信息,支持参数级权限验证(即将请求信息的请求路径和请求参数,与权限信息所示的请求路径和请求参数进行比较),权限验证通过时,控制前端元素显示目标功能,极大提升了用户体验。
附图说明
62.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
63.图1为本技术实施例提供的一种前端元素的权限控制方法的示意图;
64.图2为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
65.图3为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
66.图4为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
67.图5为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
68.图6为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
69.图7为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
70.图8为本技术实施例提供的另一种前端元素的权限控制方法的示意图;
71.图9为本技术实施例提供的一种前端元素的权限控制装置的架构示意图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
73.如图1所示,为本技术实施例提供的一种前端元素的权限控制方法的示意图,包括如下步骤:
74.s101:预先配置用户所拥有的角色,以及与每个角色对应的资源集合,并将角色和资源集合的对应关系,存储至持久化介质中。
75.其中,用户所拥有的角色包括至少一个,资源集合包括一个或多个资源。所谓的资源,即提供业务服务的统一资源定位符(uniform resource locator,url),资源的数据结构,如表1所示。
76.表1
77.字段名含义resourceid资源idresourceurl资源urlresourcename资源名称resourcetype资源类型
78.在表1中,资源id代表资源的唯一标识,资源url即代表url,资源名称代表展示给用户浏览的功能名称,资源类型包括但不限于为按钮、链接和菜单。
79.所谓的url,即网络地址,其格式为http://host[:port]/[path?parameters]。其中,http表示通过http协议来定位网络资源;host表示合法的internet主机域名或ip地址(以点分十进制格式表示);port用于指定一个端口号,即拥有被请求资源的服务器主机监听该端口的tcp连接;path?parameters指定url的请求路径与请求参数,同一请求路径下,可搭配多个请求参数,不同的请求参数用于实现不同的功能。
[0080]
具体的,假设url如下所示:
[0081]
http://www.hello.com:8888/search/qryaction.do?para1=value1&para2=value2,其中,url的请求路径为search/qryaction.do,search为虚拟路径上下文根,可忽略掉此虚拟路径;请求参数为para1=value1&para2=value2,请求参数可以为空。特别地,可用符号“||”将多个url拼接为一个资源url。
[0082]
需要强调的是,角色与资源集合的对应关系,基于表2示出的数据结构所实现。
[0083]
表2
[0084]
字段名含义roleid角色idresourceid资源idauthflag权限标识
[0085]
在表2中,角色id代表角色的唯一标示,权限标识代表角色id所示的角色是否具有访问资源id所示资源的权限,权限标识取值为true,则代表角色id所示的角色具有访问资源id所示资源的权限,权限标识取值为false,则代表角色id所示的角色不具有访问资源id所示资源的权限。
[0086]
一般来讲,持久化介质包括但不限于为数据库。
[0087]
s102:预先为前端元素设置自定义标签,并在自定义标签的属性中配置资源的请求路径和请求参数。
[0088]
其中,为前端元素设置自定义标签的具体实现过程,为本领域技术人员所熟悉的公知常识,具体的,为前端元素设置自定义标签的逻辑为:<p:buttonaction="cupbatchktrans.do?method=queryhislist"id="submitbtn"class="button1_2b"value="查询"/>,前端元素为按钮(button),在自定义标签的属性中所配置的资源的请求路径为cupbatchktrans.do?,资源的请求参数为method=queryhislist。
[0089]
s103:在检测到用户首次使用角色登录系统的情况下,从持久化介质中获取与角色对应的资源集合。
[0090]
s104:基于与角色对应的资源集合中每个资源的请求路径和请求参数,生成与角
色对应、且数据结构为map结构的权限信息,并将权限信息与角色的对应关系存储至时域中。
[0091]
其中,map结构如表3所示,其本质就是键值对(即key和value),键值对中的key用于指示资源的请求路径(具体为表3中所示的action1、action2和action3),value用于指示资源的实体列表(具体为表3中所示的list<parambean>),实体列表包括多个实体(具体为表3中所示的parambean),每个实体均包括权限标识(具体为表3中所示的authflag)、资源id(具体为表3中所示的resourceid)、资源类型(具体为表3中所示的resourcetype)和资源的请求参数(具体为表3中所示的parammap)。
[0092]
表3
[0093][0094]
在本技术实施例中,请求参数也依据键值对的形式进行存储,与请求参数对应的键值对中的key用于指示请求参数的名称,value用于指示请求参数的值,如表3所示,请求参数的名称为parammap1,与parammap1对应的值为value1,请求参数的名称为parammap2,与parammap2对应的值为value2。
[0095]
需要说明的是,基于与角色对应的资源集合中每个资源的请求路径和请求参数,生成与角色对应、且数据结构为map结构的权限信息的具体实现过程,可以参见图2所示出的步骤、以及步骤的解释说明。
[0096]
由于将权限信息与角色的对应关系存储至时域中,因此,在检测到用户第n(n为大于1的正整数)次使用角色登录系统的情况下,则可以直接从时域中获取与角色对应的权限信息。
[0097]
s105:在检测到用户对前端元素进行访问的情况下,对前端元素的自定义标签的属性进行解析,得到待请求资源的请求路径和请求参数,并调用自定义标签的标签处理器类,执行预设步骤。
[0098]
其中,预设步骤如下述s106

s111所示,包括:
[0099]
s106:基于待请求资源的请求路径和请求参数,生成数据结构为map结构的请求信息。
[0100]
其中,基于待请求资源的请求路径和请求参数,生成数据结构为map结构的请求信息的具体实现过程,可以参见图5所示的步骤、以及步骤的解释说明。
[0101]
s107:判断权限信息所示的各个请求路径中,是否包含请求信息所示的请求路径。
[0102]
若权限信息所示的各个请求路径中,包含请求信息所示的请求路径,则执行s108,否则执行s111。
[0103]
s108:判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配。
[0104]
若请求信息所示的请求参数,与权限信息所示的请求参数匹配,则执行s109,否则执行s110。
[0105]
其中,判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配的具体实现过程,可以参见图7所示的步骤、以及步骤的解释说明。
[0106]
s109:控制前端元素显示目标功能。
[0107]
其中,目标功能为请求信息所示的请求参数所实现的功能。
[0108]
s110:控制前端元素隐藏目标功能。
[0109]
s111:隐藏前端元素。
[0110]
综上所述,本实施例所示方法,控制了前端元素的显示,支持自定义标签属性配置资源信息,支持参数级权限验证(即将请求信息的请求路径和请求参数,与权限信息所示的请求路径和请求参数进行比较),权限验证通过时,控制前端元素显示目标功能,极大提升了用户体验。
[0111]
如图2所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0112]
s201:创建与角色对应的authmap对象。
[0113]
s202:获取与角色对应的资源集合。
[0114]
s203:针对资源集合中的每个资源,将资源解析为map结构,得到与每个资源对应的键值对,并将与每个资源对应的键值对,写入到authmap对象,得到赋值后的authmap对象。
[0115]
其中,将资源解析为map结构的具体实现过程,可以参见图3所示的步骤、以及步骤的解释说明。
[0116]
需要说明的是,与资源对应的键值对中的key用于指示资源的请求路径,value用于指示与资源对应的实体列表。
[0117]
s204:将赋值后的authmap对象,作为与角色对应的权限信息。
[0118]
综上所述,利用本实施例所示方法,能够基于与角色对应的资源集合中每个资源的请求路径和请求参数,生成与角色对应、且数据结构为map结构的权限信息。
[0119]
如图3所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0120]
s301:针对资源的每个请求参数,创建与每个请求参数对应的实体。
[0121]
s302:将资源的权限标识和资源id,写入到各个实体中。
[0122]
s303:对资源进行拆分,得到多个url,并记录url与实体的对应关系。
[0123]
s304:针对每个url,在检测到url包含参数字串的情况下,将参数字串解析为map结构,得到与请求参数对应的键值对,并将与请求参数对应的键值对,写入到与url对应的实体中。
[0124]
其中,由于资源url基于多个url以及符号“||”拼接生成,故可以利用符号“||”作
为拆分参照,对资源url进行拆分,得到多个url。
[0125]
以http://www.hello.com/search/qryaction.do?para1=value1&para2=value2充当url为例,url中所示的符号“?”之后的字符,均代表请求参数,也就是说,只要检测到url所示的字符串,在符号“?”之后还存在其它字符,则代表url包含参数字串。
[0126]
需要说明的是,将参数字串解析为map结构的具体实现过程,可以参见图4所示的步骤、以及步骤的解释说明。
[0127]
s305:集合与每个url对应的实体,构建资源的实体列表。
[0128]
s306:基于资源的请求路径和实体列表,构建与资源对应的键值对。
[0129]
其中,与资源对应的键值对中的key用于指示资源的请求路径,value用于指示与资源对应的实体列表。
[0130]
s307:在检测到各个url均不包含参数字串的情况下,基于请求路径和预设实体列表,构建与资源对应的键值对。
[0131]
其中,预设实体列表不包含任何实体。
[0132]
综上所述,利用本实施例所述方法,能够有效将资源解析为map结构。
[0133]
如图4所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0134]
s401:创建与参数字串对应的parammap对象。
[0135]
s402:对参数字串进行拆分,得到多个字符串。
[0136]
其中,由于参数字串基于多个字符串以及符号“&”拼接生成,故可以利用符号“&”作为拆分参照,对参数字串进行拆分,得到多个字符串。
[0137]
具体的,假设参数字串为para1=value1&para2=value2,则para1=value1为其中一个字符串,para2=value2为另一个字符串。
[0138]
s403:针对每个字符串,对字符串进行拆分,得到与每个字符串对应的参数对。
[0139]
其中,由于字符串用于指示一对参数,并通过符号“=”区分两个参数的字符,故可以利用符号“=”作为拆分参照,对字符串进行拆分,得到参数对。
[0140]
具体的,假设字符串为para1=value1,则para1为其中一个参数,value1为另一个参数。
[0141]
s404:将与每个字符串对应的参数对,写入到parammap对象中,得到与所述请求参数对应的键值对。
[0142]
综上所述,利用本实施例所述方法,能够有效将参数字串解析为map结构。
[0143]
如图5所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0144]
s501:创建与待请求资源对应的reqmap对象。
[0145]
s502:将待请求资源解析为map结构,得到与待请求资源对应的键值对,并将与待请求资源对应的键值对,写入到reqmap对象,得到赋值后的reqmap对象。
[0146]
其中,与待请求资源对应的键值对中的key用于指示待请求资源的请求路径,value用于指示待请求资源的实体列表,待请求资源的实体列表包括多个实体,每个实体均用于指示一个请求参数。
[0147]
需要说明的是,将待请求资源解析为map结构的具体实现过程,可以参见图6所示
的步骤、以及步骤的解释说明。
[0148]
s503:将赋值后的reqmap对象,作为请求信息。
[0149]
综上所述,利用本实施例所示方法,能够有效基于待请求资源的请求路径和请求参数,生成数据结构为map结构的请求信息。
[0150]
如图6所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0151]
s601:针对待请求资源的每个请求参数,创建与待请求资源的每个请求参数对应的实体。
[0152]
s602:对待请求资源进行解析,得到url,并记录url与实体的对应关系。
[0153]
s603:在检测到url包含参数字串的情况下,将参数字串解析为map结构,得到与待请求资源的请求参数对应的键值对,并将与待请求资源的请求参数对应的键值对,写入到与url对应的实体中。
[0154]
其中,将参数字串解析为map结构的具体实现过程包括:
[0155]
1、创建与待请求资源的请求参数对应的parammap对象,并对参数字串进行拆分,得到多个字符串。
[0156]
2、针对每个字符串,对字符串进行拆分,得到与每个字符串对应的参数对。
[0157]
3、与每个字符串对应的参数对,写入到与待请求资源的请求参数对应的parammap对象中,得到与待请求资源的请求参数对应的键值对。
[0158]
s604:集合与url对应的实体,构建待请求资源的实体列表。
[0159]
s605:基于待请求资源的请求路径和实体列表,构建与待请求资源对应的键值对。
[0160]
综上所述,利用本实施例所示方法,能够有效将待请求资源解析为map结构。
[0161]
如图7所示,为本技术实施例提供的另一种前端元素的权限控制方法的示意图,包括如下步骤:
[0162]
s701:解析权限信息,获得目标资源所包含的实体。
[0163]
其中,目标资源为请求路径与请求信息所示请求路径相同的资源。
[0164]
s702:解析目标资源所包含的实体,得到目标资源的请求参数,并生成与目标资源的请求参数的值对应的正则表达式。
[0165]
s703:解析请求信息所示的请求参数,获得目标参数值。
[0166]
s704:判断目标参数值是否满足正则表达式。
[0167]
若目标参数值满足正则表达式,则执行s705,否则执行s706。
[0168]
s705:确定请求信息所示的请求参数,与权限信息所示的请求参数匹配。
[0169]
s706:确定请求信息所示的请求参数,与权限信息所示的请求参数不匹配。
[0170]
综上所述,利用本实施例所示方法,能够有效判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配。
[0171]
需要说明的是,上述各个实施例,均为本技术所述前端元素的权限控制方法的一种可选的实现方式,可以概括为图8所示的方法。
[0172]
如图8所示,为本技术实施例提供的另一种前端元素的权限控制方法,包括如下步骤:
[0173]
s801:在检测到用户使用角色登录系统的情况下,获取与角色对应的权限信息。
[0174]
其中,权限信息基于与角色对应的资源集合中每个资源的请求路径和请求参数所生成。
[0175]
s802:在检测到用户对前端元素进行访问的情况下,获取针对前端元素预先设置的自定义标签,并通过自定义标签的属性,获得请求信息。
[0176]
其中,请求信息用于指示待请求资源的请求路径和请求参数。
[0177]
s803:判断权限信息所示的各个请求路径中,是否包含请求信息所示的请求路径。
[0178]
若权限信息所示的各个请求路径中,包含请求信息所示的请求路径,则执行s804,否则执行s807。
[0179]
s804:判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配。
[0180]
若请求信息所示的请求参数,与权限信息所示的请求参数匹配,则执行s805,否则执行s806。
[0181]
s805:控制前端元素显示目标功能。
[0182]
其中,目标功能为所示请求信息所示的请求参数所实现的功能。
[0183]
s806:控制前端元素隐藏目标功能:。
[0184]
s807:隐藏前端元素。
[0185]
综上所述,本实施例所示方法,控制了前端元素的显示,支持自定义标签属性配置资源信息,支持参数级权限验证(即将请求信息的请求路径和请求参数,与权限信息所示的请求路径和请求参数进行比较),权限验证通过时,控制前端元素显示目标功能,极大提升了用户体验。
[0186]
与上述本技术实施例提供的前端元素的权限控制方法相对应,本技术实施例还提供了一种前端元素的权限控制装置。
[0187]
如图9所示,为本技术实施例提供的一种前端元素的权限控制装置的架构示意图,包括:
[0188]
第一获取单元100,用于在检测到用户使用角色登录系统的情况下,获取与角色对应的权限信息;权限信息基于与角色对应的资源集合中每个资源的请求路径和请求参数所生成。
[0189]
其中,第一获取单元100用于基于与角色对应的资源集合中每个资源的请求路径和请求参数生成权限信息的过程,包括:创建与角色对应的authmap对象;获取与角色对应的资源集合;针对资源集合中的每个资源,将资源解析为map结构,得到与每个资源对应的键值对,并将与每个资源对应的键值对,写入到authmap对象,得到赋值后的authmap对象;将赋值后的authmap对象,作为与角色对应的权限信息。
[0190]
第一获取单元100用于将资源解析为map结构的过程,包括:针对资源的每个请求参数,创建与每个请求参数对应的实体;将资源的权限标识和资源id,写入到各个实体中;对资源进行拆分,得到多个url,并记录url与实体的对应关系;针对每个url,在检测到url包含参数字串的情况下,将参数字串解析为map结构,得到与请求参数对应的键值对,并将与请求参数对应的键值对,写入到与url对应的实体中;集合与每个url对应的实体,构建资源的实体列表;基于资源的请求路径和实体列表,构建与资源对应的键值对;在检测到各个url均不包含参数字串的情况下,基于请求路径和预设实体列表,构建与资源对应的键值对;预设实体列表不包含任何实体。
[0191]
第一获取单元100用于将参数字串解析为map结构的过程,包括:创建与参数字串对应的parammap对象;对参数字串进行拆分,得到多个字符串;针对每个字符串,对字符串进行拆分,得到与每个字符串对应的参数对;将与每个字符串对应的参数对,写入到parammap对象中,得到与请求参数对应的键值对。
[0192]
第二获取单元200,用于在检测到用户对前端元素进行访问的情况下,获取针对前端元素预先设置的自定义标签,并通过自定义标签的属性,获得请求信息;请求信息用于指示待请求资源的请求路径和请求参数。
[0193]
其中,第二获取单元200用于通过自定义标签的属性,获得请求信息的过程,包括:对自定义标签的属性进行解析,得到待请求资源的请求路径和请求参数;创建与待请求资源对应的reqmap对象;将待请求资源解析为map结构,得到与待请求资源对应的键值对,并将与待请求资源对应的键值对,写入到reqmap对象中,得到赋值后的reqmap对象;将赋值后的reqmap对象,作为请求信息。
[0194]
第二获取单元200用于将待请求资源解析为map结构的过程,包括:针对待请求资源的每个请求参数,创建与待请求资源的每个请求参数对应的实体;对待请求资源进行解析,得到url,并记录url与实体的对应关系;在检测到url包含参数字串的情况下,将参数字串解析为map结构,得到与请求参数对应的键值对,并将与请求参数对应的键值对,写入到与url对应的实体中;集合与url对应的实体,构建待请求资源的实体列表;基于待请求资源的请求路径和实体列表,构建与待请求资源对应的键值对。
[0195]
第一判断单元300,用于判断权限信息所示的各个请求路径中,是否包含请求信息所示的请求路径。
[0196]
第二判断单元400,用于在权限信息所示的各个请求路径中,包含请求信息所示的请求路径的情况下,判断请求信息所示的请求参数,与权限信息所示的请求参数是否匹配。
[0197]
其中,第二判断单元400具体用于:解析权限信息,获得目标资源所包含的实体;目标资源为请求路径与请求信息所示请求路径相同的资源;解析目标资源所包含的实体,得到目标资源的请求参数,并生成与目标资源的请求参数的值对应的正则表达式;解析请求信息所示的请求参数,获得目标参数值;判断目标参数值是否满足正则表达式;若目标参数值满足正则表达式,确定请求信息所示的请求参数,与权限信息所示的请求参数匹配;若目标参数值不满足正则表达式,确定请求信息所示的请求参数,与权限信息所示的请求参数不匹配。
[0198]
第一控制单元500,用于在请求信息所示的请求参数,与权限信息所示的请求参数匹配的情况下,控制前端元素显示目标功能;目标功能为所示请求信息所示的请求参数所实现的功能。
[0199]
第二控制单元600,用于在请求信息所示的请求参数,与权限信息所示的请求参数不匹配的情况下,控制前端元素隐藏目标功能。
[0200]
隐藏单元700,用于在权限信息所示的各个请求路径中,不包含请求信息所示的请求路径的情况下,隐藏前端元素。
[0201]
综上所述,本实施例所示方法,控制了前端元素的显示,支持自定义标签属性配置资源信息,支持参数级权限验证(即将请求信息的请求路径和请求参数,与权限信息所示的请求路径和请求参数进行比较),权限验证通过时,控制前端元素显示目标功能,极大提升
了用户体验。
[0202]
本技术还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本技术提供的前端元素的权限控制方法。
[0203]
本技术还提供了一种前端元素的权限控制设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本技术提供的前端元素的权限控制方法。
[0204]
本技术实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本技术实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0205]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0206]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1