基于用户身份权限隔离的方法、存储介质、设备及装置与流程

未命名 08-26 阅读:121 评论:0


1.本发明涉及权限设置领域,具体涉及一种基于用户身份权限隔离的方法、存储介质、设备及装置。


背景技术:

2.权限设计几乎是每一个后台管理系统绕不开的话题,当前,大部分系统权限设计基本都是基于标准rbac(role-based access control,基于角色的访问控制)模型或在rbac模型上扩展引入部门针对部门进行角色的授权。常见的基础rbac模型参见图1所示,常见的引入部门的rbac模型参见图2所示。
3.对于现有的rbac模型,其对权限要求不高的管理系统一般也够用,但对于某些部门较多,且权限隔离要求较高的复杂管理系统,现有的rbac模型显然无法完全适用,主要存在如下问题:
4.1、部门下的用户的角色隔离粒度太粗,按照上述模型只要将角色授权给部门,该部门下的用户便拥有这个角色权限,但在一些情况下,同一部门下不同用户的权限可能是不相同的,虽然可以结合两种模型变相的将差异化的角色直接授权给部门里的不同人员,但如此操作会导致授权角色管理困难;
5.2、对于一些跨部门临时授权的场景处理比较困难,而且用户临时角色加上后,用户页面呈现会有些混乱,比如会出现多个部门的完全不相关的菜单,带来操作上的干扰;
6.3、上述模型无法实现权限授权的分层和权限下放,基本所有的授权操作都是由一个类似系统管理员的角色操作完成,但针对一个庞大的系统,系统管理员需要精确知道每一个员工的权限范围才能正确的进行授权,使得授权工作量较大。


技术实现要素:

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.与现有技术相比,本发明的优点在于:通过进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下,然后创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户,即本发明在rbac模型的基础上引入用户身份的概念,同时将拥有部门操作权限特色的角色严格使用部门来隔离,针对用户的身份来授权,而不是针对账号来进行授权,有效确保权限管理的规范性和有序性。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为基础rbac模型的结构示意图;
36.图2为引入部门的rbac模型的结构示意图;
37.图3为本发明中一种基于用户身份权限隔离的方法的流程图;
38.图4为本发明的用户身份权限隔离的模型图。
具体实施方式
39.本发明实施例提供一种基于用户身份权限隔离的方法,通过进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下,然后创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户,即本发明在rbac模型的基础上引入用户身份的概念,同时将拥有部门操作权限特色的角色严格使用部门来隔离,针对用户的身份来授权,而不是针对账号来进行授权,有效确保权限管理的规范性和有序性。本发明实施例相应地还提供了一种存储介质、一种电子设备和一种基于用户身份权限隔离的装置。
40.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。
41.参见图3所示,本发明实施例提供的一种基于用户身份权限隔离的方法,具体包括以下步骤:
42.s1:进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;对于不同的角色而言,其权限存在差异。
43.s2:创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。即在初次进行用户账号创建时会进行部门的选择,然后根据所选部门创建当前用户在当前部门的身份。本发明的用户身份权限隔离的模型图如图4所示。
44.本发明中,将角色挂至指定的部门下,具体步骤包括:
45.判断当前角色是否为公共角色:
46.若是,则将当前角色挂至指定的多个部门下;
47.若否,则将当前角色挂至指定的部门下。
48.即对于角色而言,若其为公共角色,则根据其操作权限特性,将其挂至指定的多个部门下,若其不为公共角色,则根据其操作权限特性,将其挂至指定的一部门下。
49.本发明中,当将角色挂至指定的部门下后,还包括:
50.判断当前角色是否为当前部门的默认角色:
51.若是,则将当前角色设置为当前部门的默认角色;
52.若否,则将当前角色设置为当前部门的非默认角色。
53.本发明中,根据身份信息将当前部门下的角色授权给当前用户,具体步骤包括:
54.判断是否为进行默认角色的授权:
55.若是,则将当前部门下的默认角色授权给当前部门下的所有用户;
56.若否,则根据用户的身份信息,将当前部门下的非默认角色授权给当前部门下的指定用户。
57.当将角色授权给用户之后,用户即可获得该角色的权限。
58.本发明中,根据所选部门创建当前用户在当前部门的身份,其中,对于身份的创建,具体为:进行是否为主身份以及身份有效期的设置。
59.即根据用户在当前部门的身份,在进行角色授权时,有的用户仅能获得默认角色的授权,有的用户则可以获得默认角色和非默认角色的授权,即基于用户的身份,对当前用户进行角色的授权。
60.本发明中,对于在当前部门进行身份创建后的用户,还包括:
61.给当前用户选择其它部门,创建当前用户在其它部门的身份,并进行身份有效期的设置。
62.本发明能够解决部门下的用户的角色隔离粒度太粗问题,将角色挂到部门后,当前部门下所有用户只会拥有该部门下的默认角色,而非默认角色则可以单独授权给当前部门下的指定用户。
63.本发明还能够解决跨部门临时授权的难问题,比如原本是部门a下的用户想要临时拥有部门b的权限,则只需要新建一个部门b身份,同时可以指定该身份的有效期,这样就可以将部门b下挂的部门角色授权给新建的部门b身份,提供身份切换功能,用户登录模式是部门a身份,展示部门a身份下的所有菜单和资源,切换临时部门b身份时则只展示部门b身份下的所有菜单和资源,通过身份隔离,页面减少操作干扰,同时权限收回的时候,只需要管理员禁用或作废当前身份即可。
64.本发明还能够解决权限授权的分层和权限下放问题,本发明将角色划分三类:系统管理员、部门管理员和普通操作员。
65.对于系统管理员,只需创建角色,并将角色挂在到某个部门下即可,该类角色只关心某个部门有哪些功能即可,并不需要关心该角色需要授权给哪些用户;对于部门管理员,由于是部门管理员,只能将当前部门下的角色授权给当前部门下的人员,所以部门管理员需要知道的是当前部门下哪些用户可以操作哪些功能;对于普通操作员,只需操作自己被授权的功能即可。
66.本发明基于rbac模型引入部门人员身份的概念,并建立部门人员身份与部门角色的关系,部门人员身份与账号的关系,完成身份的隔离和角色权限更细力度的控制;将角色的类型根据权限范围由低到高划分为三类,完成权限授权的分层和权限下放,各类角色各司其职。
67.以下结合菜单权限授权举例对本发明的基于用户身份权限隔离的方法,进行详细说明。
68.首先创建菜单和角色,然后将菜单分配给角色,将角色分配给部分,然后判断为新身份授权还是默认身份授权,若为新身份授权,则选择部分创建新建身份,然后判断是否针对部门下默认角色授权;若为默认身份授权,则直接判断是否针对部门下默认角色授权;当为针对部门下默认角色授权时,当前部门下用户获取默认角色,当不为针对部门下默认角色授权时,则将当前部门下的非默认角色授权给当前部门下指定身份的用户。
69.本发明实施例的基于用户身份权限隔离的方法,通过进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下,然后创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户,即本发明在rbac模型的基础上引入用户身份的概念,
同时将拥有部门操作权限特色的角色严格使用部门来隔离,针对用户的身份来授权,而不是针对账号来进行授权,有效确保权限管理的规范性和有序性。
70.在一种可能的实施方式中,本发明实施例还提供一种可读存储介质,可读存储介质位于plc(programmable logic controller,可编程逻辑控制器)控制器中,可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下所述基于用户身份权限隔离的方法的步骤:
71.进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;
72.创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。
73.本发明中,将角色挂至指定的部门下,具体步骤包括:
74.判断当前角色是否为公共角色:
75.若是,则将当前角色挂至指定的多个部门下;
76.若否,则将当前角色挂至指定的部门下。
77.本发明中,当将角色挂至指定的部门下后,还包括:
78.判断当前角色是否为当前部门的默认角色:
79.若是,则将当前角色设置为当前部门的默认角色;
80.若否,则将当前角色设置为当前部门的非默认角色。
81.本发明中,根据身份信息将当前部门下的角色授权给当前用户,具体步骤包括:
82.判断是否为进行默认角色的授权:
83.若是,则将当前部门下的默认角色授权给当前部门下的所有用户;
84.若否,则根据用户的身份信息,将当前部门下的非默认角色授权给当前部门下的指定用户。
85.本发明中,根据所选部门创建当前用户在当前部门的身份,其中,对于身份的创建,具体为:
86.进行是否为主身份以及身份有效期的设置。
87.本发明中,对于在当前部门进行身份创建后的用户,还包括:
88.给当前用户选择其它部门,创建当前用户在其它部门的身份,并进行身份有效期的设置。
89.本发明中,角色包括系统管理员、部门管理员和普通操作员。
90.存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
91.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,
其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
92.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
93.本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下所述基于用户身份权限隔离的方法的步骤:
94.进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;
95.创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。
96.本发明中,将角色挂至指定的部门下,具体步骤包括:
97.判断当前角色是否为公共角色:
98.若是,则将当前角色挂至指定的多个部门下;
99.若否,则将当前角色挂至指定的部门下。
100.本发明中,当将角色挂至指定的部门下后,还包括:
101.判断当前角色是否为当前部门的默认角色:
102.若是,则将当前角色设置为当前部门的默认角色;
103.若否,则将当前角色设置为当前部门的非默认角色。
104.本发明中,根据身份信息将当前部门下的角色授权给当前用户,具体步骤包括:
105.判断是否为进行默认角色的授权:
106.若是,则将当前部门下的默认角色授权给当前部门下的所有用户;
107.若否,则根据用户的身份信息,将当前部门下的非默认角色授权给当前部门下的指定用户。
108.本发明中,根据所选部门创建当前用户在当前部门的身份,其中,对于身份的创建,具体为:
109.进行是否为主身份以及身份有效期的设置。
110.本发明中,对于在当前部门进行身份创建后的用户,还包括:
111.给当前用户选择其它部门,创建当前用户在其它部门的身份,并进行身份有效期
的设置。
112.本发明中,角色包括系统管理员、部门管理员和普通操作员。
113.本发明实施例提供的一种基于用户身份权限隔离的装置,包括创建模块和授权模块。
114.创建模块用于进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;授权模块用于创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。
115.本发明中,将角色挂至指定的部门下,具体步骤包括:
116.判断当前角色是否为公共角色:
117.若是,则将当前角色挂至指定的多个部门下;
118.若否,则将当前角色挂至指定的部门下。
119.本发明中,当将角色挂至指定的部门下后,还包括:
120.判断当前角色是否为当前部门的默认角色:
121.若是,则将当前角色设置为当前部门的默认角色;
122.若否,则将当前角色设置为当前部门的非默认角色。
123.本发明中,根据身份信息将当前部门下的角色授权给当前用户,具体步骤包括:
124.判断是否为进行默认角色的授权:
125.若是,则将当前部门下的默认角色授权给当前部门下的所有用户;
126.若否,则根据用户的身份信息,将当前部门下的非默认角色授权给当前部门下的指定用户。
127.本发明中,根据所选部门创建当前用户在当前部门的身份,其中,对于身份的创建,具体为:
128.进行是否为主身份以及身份有效期的设置。
129.本发明中,对于在当前部门进行身份创建后的用户,还包括:
130.给当前用户选择其它部门,创建当前用户在其它部门的身份,并进行身份有效期的设置。
131.本发明中,角色包括系统管理员、部门管理员和普通操作员。
132.本发明实施例的基于用户身份权限隔离的装置,通过进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下,然后创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户,即本发明在rbac模型的基础上引入用户身份的概念,同时将拥有部门操作权限特色的角色严格使用部门来隔离,针对用户的身份来授权,而不是针对账号来进行授权,有效确保权限管理的规范性和有序性。
133.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
134.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

技术特征:
1.一种基于用户身份权限隔离的方法,其特征在于,具体包括以下步骤:进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。2.如权利要求1所述的一种基于用户身份权限隔离的方法,其特征在于,所述将角色挂至指定的部门下,具体步骤包括:判断当前角色是否为公共角色:若是,则将当前角色挂至指定的多个部门下;若否,则将当前角色挂至指定的部门下。3.如权利要求2所述的一种基于用户身份权限隔离的方法,其特征在于,当将角色挂至指定的部门下后,还包括:判断当前角色是否为当前部门的默认角色:若是,则将当前角色设置为当前部门的默认角色;若否,则将当前角色设置为当前部门的非默认角色。4.如权利要求3所述的一种基于用户身份权限隔离的方法,其特征在于,所述根据身份信息将当前部门下的角色授权给当前用户,具体步骤包括:判断是否为进行默认角色的授权:若是,则将当前部门下的默认角色授权给当前部门下的所有用户;若否,则根据用户的身份信息,将当前部门下的非默认角色授权给当前部门下的指定用户。5.如权利要求1所述的一种基于用户身份权限隔离的方法,其特征在于,所述根据所选部门创建当前用户在当前部门的身份,其中,对于身份的创建,具体为:进行是否为主身份以及身份有效期的设置。6.如权利要求1所述的一种基于用户身份权限隔离的方法,其特征在于,对于在当前部门进行身份创建后的用户,还包括:给当前用户选择其它部门,创建当前用户在其它部门的身份,并进行身份有效期的设置。7.如权利要求1所述的一种基于用户身份权限隔离的方法,其特征在于:所述角色包括系统管理员、部门管理员和普通操作员。8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于用户身份权限隔离的方法的步骤。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于用户身份权限隔离的方法的步骤。10.一种基于用户身份权限隔离的装置,其特征在于,包括:创建模块,其用于进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;授权模块,其用于创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根
据身份信息将当前部门下的角色授权给当前用户。

技术总结
本发明公开了一种基于用户身份权限隔离的方法、存储介质、设备及装置,涉及权限设置领域,该方法包括进行资源信息和角色信息的创建,并将创建完成的权限授权给角色,基于角色的操作权限特性,将角色挂至指定的部门下;创建用户账号,并根据所选部门创建当前用户在当前部门的身份,根据身份信息将当前部门下的角色授权给当前用户。本发明能够有效确保权限管理的规范性和有序性。理的规范性和有序性。理的规范性和有序性。


技术研发人员:雷雪峰 周松 罗辑 洪飞
受保护的技术使用者:中电云数智科技有限公司
技术研发日:2023.05.17
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐