一种微服务的鉴权系统、方法、电子设备和存储介质技术方案

技术编号:33346258 阅读:56 留言:0更新日期:2022-05-08 09:41
本发明专利技术实施例提供了一种微服务的鉴权系统、方法、电子设备和存储介质,所述系统包括:用户设备用于向认证中心发送登录请求;登录请求中包括用户信息;认证中心用于获取用户信息对应的访问域,并在将用户信息和访问域组合为JWT信息后,将JWT信息发送至用户设备;访问域为用户信息针对各个微服务的访问权限;注册中心用于将访问域实时同步至网关;网关用于在接收用户设备发送的针对目标微服务的访问请求时,根据访问域对访问请求中的待验证的JWT信息进行验证,以确定是否允许用户设备访问所述目标微服务。可以实时同步用户访问域,并在网关中基于访问域对用户的访问请求进行快速鉴权,提高微服务的鉴权效率和运行性能。提高微服务的鉴权效率和运行性能。提高微服务的鉴权效率和运行性能。

【技术实现步骤摘要】
一种微服务的鉴权系统、方法、电子设备和存储介质


[0001]本专利技术实施例涉及微服务
,特别是涉及一种微服务的鉴权系统、一种微服务的鉴权方法、电子设备和存储介质。

技术介绍

[0002]微服务(或微服务架构、微服务系统)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。随着业务系统架构的发展,传统的单一架构开始走向微服务架构,而微服务的核心特点是对高耦合的单体架构进行分解。
[0003]在微服务架构(系统)中,是由多个小而独立的微服务运行组成的,而这样小而独立的微服务的特点是无状态,且可以多节点集群部署,因此需要一个统一的网关为这些独立的微服务提供访问入口,但微服务并非是通过认证中心登录的用户都允许直接访问,而是需要具备某些系统的访问权限才可以访问。目前通常是直接在当前微服务中验证当前用户是否有访问本微服务或本微服务的某些接口的权限,但采用这样的方式,网关必须向上游微服务发起一个耗时连接请求,如果系统对网关的性能要求较高,则此操作显然会降级网关的吞吐量,不利于构建一个具备高性能高吞吐的网关服务的微服务系统。

技术实现思路

[0004]本专利技术实施例是提供一种微服务的鉴权系统和方法,以解决现有技术中对微服务访问鉴权消耗大量系统资源,影响系统性能的问题。
[0005]本专利技术实施例公开了一种微服务的鉴权系统,其特征在于,包括用户设备、认证中心、注册中心和网关,所述注册中心注册有多个微服务,其中:
[0006]所述用户设备,用于向所述认证中心发送登录请求;所述登录请求中包括用户信息;
[0007]所述认证中心,用于获取所述用户信息对应的访问域,并在将所述用户信息和访问域组合为JWT信息后,将所述JWT信息发送至所述用户设备;其中,所述访问域为所述用户信息针对各个所述微服务的访问权限;
[0008]所述注册中心,用于将所述访问域实时同步至所述网关;
[0009]所述网关,用于在接收所述用户设备发送的针对目标微服务的访问请求时,根据所述访问域对所述访问请求中的待验证的JWT信息进行验证,以确定是否允许所述用户设备访问所述目标微服务。
[0010]可选地,所述认证中心,还用于修改所述用户信息对应的访问域,并将修改后的访问域发送至所述注册中心;
[0011]所述注册中心,还用于将所述修改后的访问域实时同步至所述网关。
[0012]可选地,所述注册中心,还用于获取所述微服务的微服务信息,根据所述微服务信息注册所述微服务;所述微服务信息包括所述微服务的标识、IP地址和端口。
[0013]可选地,所述网关,还用于提取所述访问请求中携带的待验证JWT信息;所述待验
证JWT信息包括针对所述目标微服务的待验证访问域;当所述访问域中包含针对所述目标微服务的待验证访问域时,允许所述用户设备访问所述目标微服务。
[0014]可选地,所述网关,还用于当所述目标JWT信息中的访问域中不包含针对所述目标微服务的访问域时,拒绝所述用户设备访问所述目标微服务,并提示错误信息。
[0015]本专利技术实施例还公开了一种微服务的鉴权方法,其特征在于,包括用户设备、认证中心、注册中心和网关,所述注册中心注册有多个微服务,所述方法包括:
[0016]所述用户设备向所述认证中心发送登录请求;所述登录请求中包括用户信息;
[0017]所述认证中心获取所述用户信息对应的访问域,并在将所述用户信息和访问域组合为JWT信息后,将所述JWT信息发送至所述用户设备;其中,所述访问域为所述用户信息针对各个所述微服务的访问权限;
[0018]所述注册中心将所述访问域实时同步至所述网关;
[0019]所述网关在接收所述用户设备发送的针对目标微服务的访问请求时,根据所述访问域对所述访问请求中的待验证的JWT信息进行验证,以确定是否允许所述用户设备访问所述目标微服务。
[0020]可选地,还包括:
[0021]所述认证中心修改所述用户信息对应访问域,并将修改后的访问域发送至所述注册中心;
[0022]所述注册中心将所述修改后的访问域实时同步至所述网关。
[0023]可选地,还包括:
[0024]所述注册中心获取所述微服务的微服务信息,根据所述微服务信息注册所述微服务;所述微服务信息包括所述微服务的标识、IP地址和端口。
[0025]可选地,所述根据所述访问域对所述访问请求中的待验证的JWT信息进行验证,以确定是否允许所述用户设备访问所述目标微服务,包括:
[0026]所述网关提取所述访问请求中携带的待验证JWT信息;所述待验证JWT信息包括针对所述目标微服务的待验证访问域;
[0027]当所述访问域中包含针对所述目标微服务的待验证访问域时,允许所述用户设备访问所述目标微服务。
[0028]可选地,所述根据所述JWT信息对所述访问请求中的待验证的JWT信息进行验证,以确定是否允许所述用户设备访问所述目标微服务,包括:
[0029]所述网关当所述目标JWT信息中的访问域中不包含针对所述目标微服务的访问域时,拒绝所述用户设备访问所述目标微服务,并提示错误信息。
[0030]本专利技术实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的微服务的鉴权方法的步骤。
[0031]本专利技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的微服务的鉴权方法的步骤。
[0032]本专利技术实施例包括以下优点:
[0033]本专利技术实施例提供了一种微服务的鉴权系统,包括:用户设备用于向认证中心发送登录请求;登录请求中包括用户信息;认证中心用于获取用户信息对应的访问域,并在将
用户信息和访问域组合为JWT信息后,将JWT信息发送至用户设备;访问域为用户信息针对各个微服务的访问权限;注册中心用于将访问域实时同步至网关;网关用于在接收用户设备发送的针对目标微服务的访问请求时,根据访问域对访问请求中的待验证的JWT信息进行验证,以确定是否允许用户设备访问所述目标微服务。本专利技术实施例可以实时同步用户访问域,并在网关中基于访问域对用户的访问请求进行快速鉴权,提高微服务的鉴权效率和运行性能。
附图说明
[0034]图1是本专利技术实施例提供的一种微服务的鉴权系统的结构框图;
[0035]图2是本专利技术的一种微服务的鉴权系统的鉴权过程示意图;
[0036]图3是本专利技术的一种微服务的鉴权方法实施例的步骤流程图。
具体实施方式
[0037]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0038]微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成,它提倡将单一应用程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务的鉴权系统,其特征在于,包括用户设备、认证中心、注册中心和网关,所述注册中心注册有多个微服务,其中:所述用户设备,用于向所述认证中心发送登录请求;所述登录请求中包括用户信息;所述认证中心,用于获取所述用户信息对应的访问域,并在将所述用户信息和访问域组合为JWT信息后,将所述JWT信息发送至所述用户设备;其中,所述访问域为所述用户信息针对各个所述微服务的访问权限;所述注册中心,用于将所述访问域实时同步至所述网关;所述网关,用于在接收所述用户设备发送的针对目标微服务的访问请求时,根据所述访问域对所述访问请求中的待验证的JWT信息进行验证,以确定是否允许所述用户设备访问所述目标微服务。2.根据权利要求1所述的系统,其特征在于,所述认证中心,还用于修改所述用户信息对应的访问域,并将修改后的访问域发送至所述注册中心;所述注册中心,还用于将所述修改后的访问域实时同步至所述网关。3.根据权利要求1所述的系统,其特征在于,所述注册中心,还用于获取所述微服务的微服务信息,根据所述微服务信息注册所述微服务;所述微服务信息包括所述微服务的标识、IP地址和端口。4.根据权利要求2所述的系统,其特征在于,所述网关,还用于提取所述访问请求中携带的待验证JWT信息;所述待验证JWT信息包括针对所述目标微服务的待验证访问域;当所述访问域中包含针对所述目标微服务的待...

【专利技术属性】
技术研发人员:吕辉吕向峰黄亮彭轶喆祁中翚
申请(专利权)人:新奥特北京视频技术有限公司
类型:发明
国别省市:

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

1