本公开涉及计算机,尤其涉及信息安全、权限管理等,具体涉及一种鉴权方法、装置、电子设备及存储介质。
背景技术:
1、鉴权是指在信息系统、网络或应用中,确定用户的身份是否合法,并根据用户的身份和权限,决定其在系统中能够访问哪些资源或执行哪些操作的过程。通过引入鉴权机制,可以确保系统和数据的安全性、资源的合理分配和管理等。
技术实现思路
1、本公开提供了一种鉴权方法、装置、电子设备及存储介质。
2、根据本公开的第一方面,提供了一种鉴权方法,由服务端执行,包括:
3、接收客户端发送的访问请求,其中,所述访问请求中包括所述客户端对应的目标权限值,所述目标权限值为根据权限树中与所述客户端对应的目标叶子节点的权限值确定的,所述权限树中的每个节点表示所述服务端中的一个接口,父节点对应的接口为子节点对应的接口的父接口,每个叶子节点对应的权限值为互不相同的素数,父节点对应的权限值为子节点对应的权限值的乘积;
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、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种鉴权方法,由服务端执行,包括:
2.根据权利要求1所述的方法,其中,
3.根据权利要求1所述的方法,其中,所述根据所述目标权限值与所述第一权限值之间的余数,确定鉴权结果,包括:
4.根据权利要求1所述的方法,其中,所述访问请求中还包括以下任一项:
5.根据权利要求4所述的方法,其中,所述根据所述目标权限值与所述第一权限值之间的余数,确定鉴权结果,包括:
6.根据权利要求4所述的方法,其中,所述根据所述目标权限值与所述第一权限值之间的余数,确定鉴权结果,包括:
7.根据权利要求4所述的方法,其中,所述根据所述目标权限值与所述第一权限值之间的余数,确定鉴权结果,包括:
8.根据权利要求1所述的方法,其中,还包括:
9.根据权利要求8所述的方法,其中,在所述权限树中存在所述待新增接口的兄弟接口对应的节点的情况下,所述第一权限树更新请求中还包括所述待增加接口对应的第二权限值,其中,所述第二权限值与所述权限树中的每个权限值均不相同。
10.一种鉴权方法,由权限中心执行,包括:
11.根据权利要求10所述的方法,其中,所述根据所述权限树中与所述角色类型对应的目标叶子节点的权限值,确定目标权限值,包括:
12.根据权利要求10所述的方法,其中,所述授权结果中还包括以下任一项:
13.根据权利要求12所述的方法,其中,还包括:
14.根据权利要求12所述的方法,其中,还包括:
15.根据权利要求10所述的方法,其中,还包括:
16.根据权利要求15所述的方法,其特征在于,在所述权限树中存在所述待新增接口的兄弟接口对应的节点的情况下,所述第一权限树更新请求中还包括所述第二权限值。
17.根据权利要求10所述的方法,其中,还包括:
18.一种鉴权装置,由服务端执行,包括:
19.根据权利要求18所述的装置,其中,
20.根据权利要求18所述的装置,其中,所述第二确定模块,用于:
21.根据权利要求18所述的装置,其中,所述访问请求中还包括以下任一项:
22.根据权利要求21所述的装置,其中,所述第二确定模块,用于:
23.根据权利要求21所述的装置,其中,所述第二确定模块,用于:
24.根据权利要求21所述的装置,其中,所述第二确定模块,用于:
25.根据权利要求18所述的装置,其中,还包括发送模块,用于:
26.根据权利要求25所述的装置,其中,在所述权限树中存在所述待新增接口的兄弟接口对应的节点的情况下,所述第一权限树更新请求中还包括所述待增加接口对应的第二权限值,其中,所述第二权限值与所述权限树中的每个权限值均不相同。
27.一种鉴权装置,由权限中心执行,包括:
28.根据权利要求27所述的装置,其中,所述确定模块,用于:
29.根据权利要求27所述的装置,其中,所述授权结果中还包括以下任一项:
30.根据权利要求29所述的装置,其中,还包括第一验证模块,用于:
31.根据权利要求29所述的装置,其中,还包括第二验证模块,用于:
32.根据权利要求27所述的装置,其中,还包括第一更新模块,用于:
33.根据权利要求32所述的装置,其特征在于,在所述权限树中存在所述待新增接口的兄弟接口对应的节点的情况下,所述第一权限树更新请求中还包括所述第二权限值。
34.根据权利要求27所述的装置,其中,还包括第二更新模块,用于:
35.一种电子设备,包括:
36.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法,或者能够执行权利要求10-17中任一项所述的方法。
37.一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现权利要求1-9中任一项所述方法的步骤,或者能够执行权利要求10-17中任一项所述的方法。