System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 微服务鉴权方法、系统、设备及介质技术方案_技高网

微服务鉴权方法、系统、设备及介质技术方案

技术编号:40656463 阅读:8 留言:0更新日期:2024-03-13 21:33
本申请提供一种微服务鉴权方法、系统、设备及介质,方法应用于微服务鉴权系统,所述微服务鉴权系统包括:API Gateway模块,鉴权微服务模块与多个后端微服务模块,API Gateway模块拦截每个API请求,并将所述每个API请求转发到所述鉴权微服务模块;鉴权微服务模块对每个API请求进行权限校验,在API请求权限校验不通过时向API Gateway模块反馈的校验结果为无权限,在API请求权限校验通过时反馈的校验结果为用户信息;API Gateway模块忽略无权限的API请,将有权限的API请求对应的用户信息添加在API请求中,并路由到对应的后端微服务模块中,以使后端微服务模块基于API请求的用户信息处理所述API请求,实现对不同的请求进行统一鉴权,提高了对请求进行鉴权的效率。

【技术实现步骤摘要】

本申请涉及通信领域,尤其涉及一种微服务鉴权方法、系统、设备及介质


技术介绍

1、随着信息技术的快速发展,微服务架构已成为现代应用开发的主流方法,在微服务架构中,服务被拆分为更小的、相对独立的模块,这些模块通常部署在不同的服务器上,所以不同的请求会分发到不同的微服务中。

2、目前微服务对于请求的鉴权,每个微服务均有独立的鉴权逻辑,采用不同的鉴权策略,这导致客户端需要集成各个微服务的鉴权软件开发工具包(software developmentkit,简称sdk),这无疑增加了开发成本,并且会随着微服务数量的增长,增长的微服务均需要引入各自对应的鉴权逻辑,会导致代码冗余,并且不同微服务的鉴权逻辑需要不同语言实现编码,会导致代码维护成本增加,所以目前微服务对于请求的鉴权难度大,效率低下。


技术实现思路

1、本申请提供一种微服务鉴权方法、系统、设备及介质,可对不同的请求进行统一鉴权,降低了对请求进行鉴权的难度,提高了对请求进行鉴权的效率。

2、一方面,本申请提供一种微服务鉴权方法,应用于微服务鉴权系统,所述微服务鉴权系统包括:api gateway模块,鉴权微服务模块与多个后端微服务模块,所述方法包括:

3、所述api gateway模块拦截每个api请求,并将所述每个api请求转发到所述鉴权微服务模块;

4、所述鉴权微服务模块接收所述api gateway模块转发的每个api请求,对每个api请求进行权限校验得到校验结果,并向所述api gateway模块反馈所述校验结果,在api请求权限校验不通过时,所述鉴权微服务模块向所述api gateway模块反馈的校验结果为无权限,在api请求权限校验通过时,所述鉴权微服务模块提取所述api请求对应的用户信息,并将所述api请求对应的用户信息作为校验结果反馈至所述api gateway模块;

5、所述api gateway模块接收所述鉴权微服务模块反馈的每个api请求的校验结果,并在所述api请求的校验结果为无权限时,忽略所述api请求;在所述api请求的校验结果为所述api请求对应的用户信息时,所述api gateway模块将所述用户信息添加在所述api请求中,并将所述api请求路由到对应的后端微服务模块中,以使所述后端微服务模块基于api请求的用户信息处理所述api请求。

6、在一种示例中,所述对每个api请求进行权限校验得到校验结果,包括:

7、所述鉴权微服务模块判断每个发出所述api请求的用户是否具备访问所述api请求的权限;若发出所述api请求的用户不具备访问所述api请求的访问权限,则说明所述api请求权限校验不通过;若发出所述api请求的用户具备访问所述api请求的访问权限,则说明所述api请求权限校验通过。

8、在一种示例中,所述判断每个发出所述api请求的用户是否具备访问所述api请求的权限,包括:

9、所述鉴权微服务模块从所述api请求中确定发出所述api请求的用户对应的用户标识;

10、所述鉴权微服务模块基于所述用户标识在所述微服务鉴权系统本地查找该用户标识对应的所有的权限信息,所述微服务鉴权系统本地维护每个访问用户的用户标识,以及每个用户标识对应的用户信息与所有的权限信息;

11、所述鉴权微服务模块判断所述所有的权限信息是否包括所述api请求,若包括,则说明发出所述api请求的用户具备访问所述api请求的访问权限,反之,则说明发出所述api请求的用户不具备访问所述api请求的访问权限。

12、在一种示例中,所述提取所述api请求对应的用户信息包括:

13、所述鉴权微服务模块基于所述用户对应的用户标识,从所述微服务鉴权系统本地提取所述用户标识对应的用户信息。

14、在一种示例中,所述将所述用户信息添加在所述api请求中包括:

15、所述api gateway模块在所述api请求的请求体中添加一个自定义请求头,并将所述用户信息添加在所述api请求对应的自定义请求头中。

16、在一种示例中,用户信息至少包括:用户名、用户角色信息、用户所属账户信息。

17、另一方面,本申请提供一种微服务鉴权系统,所述系统包括:api gateway模块,鉴权微服务模块与多个后端微服务模块,其中:

18、所述api gateway模块拦截每个api请求,并将所述每个api请求转发到所述鉴权微服务模块;

19、所述鉴权微服务模块接收所述api gateway模块转发的每个api请求,对每个api请求进行权限校验得到校验结果,并向所述api gateway模块反馈所述校验结果,在api请求权限校验不通过时,所述鉴权微服务模块向所述api gateway模块反馈的校验结果为无权限,在api请求权限校验通过时,所述鉴权微服务模块提取所述api请求对应的用户信息,并将所述api请求对应的用户信息作为校验结果反馈至所述api gateway模块;

20、所述api gateway模块接收所述鉴权微服务模块反馈的每个api请求的校验结果,并在所述api请求的校验结果为无权限时,忽略所述api请求;在所述api请求的校验结果为所述api请求对应的用户信息时,所述api gateway模块将所述用户信息添加在所述api请求中,并将所述api请求路由到对应的后端微服务模块中,以使所述后端微服务模块基于api请求的用户信息处理所述api请求。

21、在一种示例中,所述鉴权微服务模块判断每个发出所述api请求的用户是否具备访问所述api请求的权限;若发出所述api请求的用户不具备访问所述api请求的访问权限,则说明所述api请求权限校验不通过;若发出所述api请求的用户具备访问所述api请求的访问权限,则说明所述api请求权限校验通过。

22、又一方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;

23、所述存储器存储计算机执行指令;

24、所述处理器执行所述存储器存储的计算机执行指令,以实现如前所述的方法。

25、又一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前任一项所述的方法。

26、本申请提供的微服务鉴权方法、系统、设备及介质,所述方法应用于微服务鉴权系统,所述系统包括:api gateway模块,鉴权微服务模块与多个后端微服务模块,其中:所述api gateway模块拦截每个api请求,并将所述每个api请求转发到所述鉴权微服务模块;所述鉴权微服务模块对每个api请求进行权限校验得到校验结果,并向所述api gateway模块反馈所述校验结果,在api请求权限校验不通过时,所述鉴权微服务模块向所述apigateway模块反馈的校验结果为无权限,在api请求权限校验通过时,本文档来自技高网...

【技术保护点】

1.一种微服务鉴权方法,应用于微服务鉴权系统,其特征在于,所述微服务鉴权系统包括:API Gateway模块,鉴权微服务模块与多个后端微服务模块,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对每个API请求进行权限校验得到校验结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述判断每个发出所述API请求的用户是否具备访问所述API请求的权限,包括:

4.根据权利要求3所述的方法,其特征在于,所述提取所述API请求对应的用户信息包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述用户信息添加在所述API请求中包括:

6.根据权利要求1-5任一项所述的方法,其特征在于,用户信息至少包括:用户名、用户角色信息、用户所属账户信息。

7.一种微服务鉴权系统,其特征在于,所述系统包括:APIGateway模块,鉴权微服务模块与多个后端微服务模块,其中:

8.根据权利要求7所述的系统,其特征在于,

9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。

...

【技术特征摘要】

1.一种微服务鉴权方法,应用于微服务鉴权系统,其特征在于,所述微服务鉴权系统包括:api gateway模块,鉴权微服务模块与多个后端微服务模块,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对每个api请求进行权限校验得到校验结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述判断每个发出所述api请求的用户是否具备访问所述api请求的权限,包括:

4.根据权利要求3所述的方法,其特征在于,所述提取所述api请求对应的用户信息包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述用户信息添加在所述api请求...

【专利技术属性】
技术研发人员:李研何非许冬勇白涛苏仕祥宋可屠亮亮
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

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

1