权限配置方法及设备与流程

文档序号:28484692发布日期:2022-01-15 00:12阅读:68来源:国知局
权限配置方法及设备与流程

1.本发明涉及计算机领域,尤其涉及一种权限配置方法及设备。


背景技术:

2.云计算软件对外提供社区版、单机试用版、企业版等多个版本,支持admin和普通用户访问,企业版中的项目管理支持创建项目,拥有项目负责人、项目用户等多种预置角色,每一种权限体系下,用户能访问的页面都有差异,这些差异不仅体现在页面上,还有按钮、表格列、展示字段、图表等。
3.现有权限配置方案只,所有权限的控制都写死在代码中,如,张三有xxx权限,则可以看到xxx页面,这种方式在小规模软件中还能实践,但当代码膨胀到百万行以上时,很难靠人为维护,因为配置策略和代码耦合在一起,测试人员也缺乏测试标准,当有新的license(版本)或者预设角色时,所有涉及权限控制的代码,需要全部修改。


技术实现要素:

4.本发明的一个目的是提供一种权限配置方法及设备。
5.根据本发明的一个方面,提供了一种权限配置方法,该方法包括:
6.采集用户界面中的页面受控元素;
7.获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
8.基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
9.进一步的,上述方法中,采集用户界面中的页面受控元素中,每个页面受控元素,以所属资源属性、展现类型属性和页面受控元素类型进行表示。
10.进一步的,上述方法中,采集用户界面中的页面受控元素,包括:
11.将用户界面中的页面受控元素进行标注;
12.扫描出用户界面中标注的页面受控元素。
13.进一步的,上述方法中,获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,包括:
14.在用户界面上显示页面受控元素;
15.获取配置人员在所述用户界面选择的页面受控元素,基于配置人员在所述用户界面选择的页面受控元素,跳转到该页面受控元素的配置系统界面;
16.获取配置人员在配置系统界面输入的用户的每个用户身份对应的用户界面下该页面受控元素的权限。
17.进一步的,上述方法中,基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素,包括:
18.对用户的各个并列层级关系的用户身份,将各个并列层级关系的用户身份对应的用户界面下有权限的页面受控元素的集合取并集;
19.基于所述并集,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
20.进一步的,上述方法中,基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素,包括:
21.对用户的各个上下层级关系的用户身份,将各个上下层级关系的用户身份对应的用户界面下有权限的页面受控元素的集合取并交集;
22.基于所述交集,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
23.根据本发明的另一方面,还提供一种权限配置设备,其中,该设备包括:
24.页面元素采集器,用于采集用户界面中的页面受控元素;
25.权限配置系统,用户获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
26.权限控制系统,用于基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
27.进一步的,上述设备中,每个页面受控元素,以所属资源属性、展现类型属性和页面受控元素类型进行表示。
28.根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
29.处理器;以及
30.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
31.采集用户界面中的页面受控元素;
32.获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
33.基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
34.根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
35.采集用户界面中的页面受控元素;
36.获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
37.基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
38.与现有技术相比,本发明以可视化方式,配置复杂云计算软件权限集合,区分用户的不同用户身份如oem层级(定制不同的厂商)、不同l icense版本层级(免费版、收费版、企业版)、不同身份层级(管理员、普通用户、不同角色(项目审计员、系统管理员)的默认用户
界面的页面受控元素的视图,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,显示该页面受控元素;反之,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,拦截该页面受控元素即不显示该页面受控元素。
39.本发明以可视化的方式将配置策略与软件代码解耦,无论是开发测试人员,还是产品经理、售前售后都可以在线编辑系统预设用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,修改后无需重新打包即可生效,极大的简化了产品开发发布流程。
附图说明
40.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
41.图1示出本发明一实施例的权限配置方法的流程图。
42.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
43.下面结合附图对本发明作进一步详细描述。
44.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
45.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
46.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
47.如图1所示,本发明提供一种权限配置方法,所述方法包括:步骤s1~步骤s3。
48.步骤s1,采集用户界面中的页面受控元素;
49.步骤s2,获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
50.在此,针对不同层级的用户界面会对应有不同或相同的有权限的页面受控元素的集合,例如,
51.针对企业版层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素a,页面受控元素b,页面受控元素c,页面受控元素d;
52.针对普通用户版层级的用户界面下有权限的页面受控元素的集合,如:页面受控
元素b,页面受控元素c;
53.针对项目管理员层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素a,页面受控元素b,页面受控元素c,页面受控元素d;
54.针对安全审计员层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素b,页面受控元素c;
55.步骤s3,基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
56.在此,本发明以可视化方式,配置复杂云计算软件权限集合,区分用户的不同用户身份如oem层级(定制不同的厂商)、不同license版本层级(免费版、收费版、企业版)、不同身份层级(管理员、普通用户、不同角色(项目审计员、系统管理员)的默认用户界面的页面受控元素的视图,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,显示该页面受控元素;反之,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,拦截该页面受控元素即不显示该页面受控元素。
57.本发明以可视化的方式将配置策略与软件代码解耦,无论是开发测试人员,还是产品经理、售前售后都可以在线编辑系统预设用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,修改后无需重新打包即可生效,极大的简化了产品开发发布流程。
58.本发明的权限配置方法一实施例中,步骤s1,采集用户界面中的页面受控元素中,每个页面受控元素,以所属资源属性、展现类型属性和页面受控元素类型进行表示。
59.在此,每个页面元素有三种属性区别唯一性,分别是所属资源(resource)、展现类型(type)和页面受控元素类型(authkey)。
60.根据展现形式不同,展现类型属性分为:view,action,block三种类型,其中,可以约定view对应页面拦截整个页面;action对应按钮拦截某个按钮操作;block对应其他任意页面受控元素,如可以是表格的某列,也可以是用户界面的详情页的某个字段。
61.页面受控元素类型(authkey):用于区分同种类型不同的页面元素,具有语义性,如:启动按钮(start),结束按钮(stop)。
62.resource、type和authkey共同决定某一种页面受控元素,比如一个云主机的启动按钮,会出现在很多地方,都会被拦截,对应的配置为resource=vm,且type=action,且authkey=start。
63.这样设计的好处是,可以让出现在页面多个地方的相同页面控制元素元素自动做关联,都可以统一拦截。
64.以云主机主列表为例,组合为:resource=vm(云主机),且type=view,且authkey=list(列表),不仅可以用来控制云主机主列表展示/隐藏,还能同时控制云主机列表嵌入在其他资源下(物理机、云盘等)子列表的展示/隐藏。
65.再举一个云主机启动按钮的例子,组合成key为:resource=vm,且type=action,且authkey=start,同样云主机启动按钮会出现在多个地方,如下图所示,拦截这一个key,可以控制用户界面中所有云主机的启动按钮。
66.例如,某个key,打勾表示可见,不打勾表示拦截隐藏。
67.本发明的权限配置方法一实施例中,步骤s1,采集用户界面中的页面受控元素,包括:
68.步骤s11,将用户界面中的页面受控元素进行标注;
69.步骤s12,扫描出用户界面中标注的页面受控元素。
70.在此,可以通过页面元素采集器负责采集用户页面中所有页面受控元素(权限限制、隐藏、跳转)的元素,可能是页面、按钮、字段或者其他任何可见元素,所有页面受控元素都可以采用自定义auth组件包裹(react)(人工标注),通过babel ast扫描脚本在打包期间执行,扫描标注出整个ui系统所有的页面受控元素,以便于后续导入配置系统。
71.在实际开发中,权限的配置由产品经理主导,测试辅助走查的方式进行,开发人员只需要根据需要,将需要拦截的元素包裹auth组件即可。
72.最终可以生成某个用户的权限集是一个数组,auth组件会判断页面受控元素的key是否在权限集里面,如果没有,会自动隐藏被包裹的页面元素。
73.本发明的权限配置方法一实施例中,步骤s2,获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,包括:
74.步骤s21,在用户界面上显示页面受控元素;
75.步骤s22,获取配置人员在所述用户界面选择的页面受控元素,基于配置人员在所述用户界面选择的页面受控元素,跳转到该页面受控元素的配置系统界面;
76.步骤s23,获取配置人员在配置系统界面输入的用户的每个用户身份对应的用户界面下该页面受控元素的权限,如有权限,或没权限。
77.在此,可以通过权限配置系统采用react+nestjs构建,采用nedb文件型数据库存储,支持多人协同工作,页面元素采集器采集到的数据会在ci/cd ui代码库构建期间自动导入到权限配置系统,这样做的好处是用户看到的配置集合始终是最新的,和ui代码库同步,权限配置系统可以配置不同oem版本层级、不同license层级、不同角色体系层级的权限组合权限集。
78.权限配置系统,例如,可以有两种视图,分别是列表和树形,树形以站点地图为依托,方便用户快速配置,而列表则直接从可视化配置界面跳转配置。
79.ui可视化配置模式是本专利的精髓,虽然在前面针对某个页面元素都定义了唯一的页面受控元素的key,但参与配置的都是非开发人员,单纯看key:resource、type、authkey并无法确定对应哪一个页面受控元素,为了方便跨团队协作,防止错配,可以提供全新的调试模式(debug),当开启debug模式时,所有被拦截的元素都会被标红,当鼠标悬浮上去时会显示工具条(tooltip),点击tooltip的链接会跳转到配置系统,这样配置人员就可以精确配置了。
80.另外,debug模式可以模拟任意权限组合,方便测试人员探查当前权限是否会导致用户操作流中断。
81.本发明的权限配置方法一实施例中,步骤s3,基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素,包括:
82.步骤s31,对用户的各个并列层级关系的用户身份,将各个并列层级关系的用户身
份对应的用户界面下有权限的页面受控元素的集合取并集;
83.步骤s32,基于所述并集,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
84.在此,权限系统像防火墙一样支持多层拦截,最上层的层级是厂商层级如oem层级;然后,厂商层级的下一层级是版本层级,如license/子license层级;接下来是版本层级的下一层级为不同角色体系层级,如iam1/iam2层级;并列层级之间取并集,最终用户看到的界面是多层级权限拦截后的有权限的页面受控元素的集合。
85.权限控制系统拉取配置系统的默认权限集合,可以经过并集运算后,得出用户当前拥有的有权限的页面受控元素的集合,并通过auth组件关联到用户界面进行拦截。
86.例如,一个用户既是项目管理员层级,又是安全审计员层级,则去并集。
87.针对项目管理员层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素a,页面受控元素b,页面受控元素c,页面受控元素d;
88.针对安全审计员层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素b,页面受控元素c。
89.并集为:页面受控元素a,页面受控元素b,页面受控元素c,页面受控元素。
90.本发明的权限配置方法一实施例中,步骤s3,基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素,包括:
91.步骤s33,对用户的各个上下层级关系的用户身份,将各个上下层级关系的用户身份对应的用户界面下有权限的页面受控元素的集合取并交集;
92.步骤s34,基于所述交集,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
93.在此,权限系统像防火墙一样支持多层拦截,最上层的层级是厂商层级如oem层级;然后,厂商层级的下一层级是版本层级,如license/子license层级;接下来是版本层级的下一层级为不同角色体系层级,如iam1/iam2层级;不同上下层之间取交集,最终用户看到的界面是多层级权限拦截后的有权限的页面受控元素的集合。
94.权限控制系统拉取配置系统的默认权限集合,可以经过交集运算后,得出用户当前拥有的有权限的页面受控元素的集合,并通过auth组件关联到用户界面进行拦截。
95.例如,同一个用户既是企业版层级又是普通用户版层级,则取交集:
96.针对企业版层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素a,页面受控元素b,页面受控元素c,页面受控元素d;
97.针对普通用户版层级的用户界面下有权限的页面受控元素的集合,如:页面受控元素b,页面受控元素c;
98.交集为:页面受控元素b,页面受控元素c。
99.根据本发明的另一方面,还提供一种权限配置设备,其中,该设备包括:
100.页面元素采集器,用于采集用户界面中的页面受控元素;
101.权限配置系统,用户获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
102.权限控制系统,用于基于用户的每个用户身份对应的用户界面下有权限的页面受
控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
103.进一步的,上述设备中,每个页面受控元素,以所属资源属性、展现类型属性和页面受控元素类型进行表示。
104.根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
105.处理器;以及
106.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
107.采集用户界面中的页面受控元素;
108.获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
109.基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
110.根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
111.采集用户界面中的页面受控元素;
112.获取配置人员输入的用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合;
113.基于用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,在该用户的用户界面渲染的时候,拦截除有权限的页面受控元素之外的其他页面受控元素。
114.综上所述,本发明以可视化方式,配置复杂云计算软件权限集合,区分用户的不同用户身份如oem层级(定制不同的厂商)、不同license版本层级(免费版、收费版、企业版)、不同身份层级(管理员、普通用户、不同角色(项目审计员、系统管理员)的默认用户界面的页面受控元素的视图,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,显示该页面受控元素;反之,若某个页面受控元素在某个用户的有权限的页面受控元素的集合中,则在该用户的用户界面渲染的时候,拦截该页面受控元素即不显示该页面受控元素。
115.本发明以可视化的方式将配置策略与软件代码解耦,无论是开发测试人员,还是产品经理、售前售后都可以在线编辑系统预设用户的每个用户身份对应的用户界面下有权限的页面受控元素的集合,修改后无需重新打包即可生效,极大的简化了产品开发发布流程。
116.本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
117.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
118.需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的
软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
119.另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
120.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1