一种基于微服务的身份认证方法、存储介质及系统与流程

    专利2022-07-07  140


    本发明涉及计算机技术领域,尤其涉及一种基于微服务的身份认证方法、存储介质及系统。



    背景技术:

    微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说api应该是重点。微服务可以在“自己的程序”中运行,并通过“轻量级设备与http型api进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个api)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构

    微服务架构以一套微小的服务的方式来开发和部署一个单独的应用,这些微小的服务根据业务功能来划分,通过自动化部署机制独立部署运行在自己的进程中,微服务之间使用轻量级通信机制来进行通信。一个典型的微服务架构应该包括客户端、微服务网关、服务发现、微服务原子层、数据库、部署平台等模块,根据不同应用类型及服务规模,可以增加负载均衡、权限认证、服务熔断、日志监控等模块,来满足服务的非功能性需求。

    然而,到目前为止,发现服务器没有对任何客户端的连接进行身份验证,也没有通过基本身份验证保护发现服务器,因此无法防止未经授权的访问客户端对发现服务器进行的访问服务。



    技术实现要素:

    有鉴于此,本发明提供一种基于微服务的身份认证方法、存储介质及系统解决现有微服务构架中没有对客户端连接进行身份验证的问题。

    为了达到上述目的,本发明解决技术问题的技术方案是提供一种基于微服务的身份认证方法,其包括步骤:构建包括认证中心及网管的微服务管理系统;在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关;网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互;在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限。

    进一步,所述构建包括认证中心及网管的微服务管理系统包括步骤:创建独立的认证中心;构建可截取认证中心信息的网关。

    进一步,所述在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关包括步骤:向认证中心发送请求;认证中心接收到请求后生成token;将生产的token发送给网关。

    进一步,所述网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互包括步骤:网关对token进行验证,判断token对应的用户信息是否具有访问权限;验证通过后建立用户端与服务器端的交互。

    进一步,所述在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限包括步骤:判断用户等级;根据不同等级赋予访问权限。

    进一步,网关对token进行解析验证时,对解析到的用户信息按照预设的加密算法加密生成签名,该签名包括网关颁发给第一微服务的key、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密。

    进一步,所述认证中心为独立的认证中心,只有认证中心才能接受用户的用户名和密码等信息进行认证,其他系统不提供登录入口。

    本发明还提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行基于微服务的身份认证方法。

    本发明还提供一种基于微服务的身份认证系统,其包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现基于微服务的身份认证方法。

    与现有技术相比,本发明所提供的基于微服务的身份认证方法、存储介质及系统具有以下有益效果:

    通过向认证中心发送请求并生成token,以判断用户是否初步具备交互,在判断具备初步具备交互资格后,在根据不同用户等级赋予不同的访问权限,从而实现了在微服务端的身份验证,避免了无认证也可访问的情况。

    以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明的保护范围内。

    附图说明

    图1为本发明第一实施例提供的一种基于微服务的身份认证方法的流程示意图;

    图2为图1中步骤s1的子步骤流程图;

    图3为图1中步骤s2的子步骤流程图;

    图4为图1中步骤s3的子步骤流程图;

    图5为图1中步骤s4的子步骤流程图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

    请参阅图1,本发明提供的一种基于微服务的身份认证方法,其包括步骤:

    s1,构建包括认证中心及网管的微服务管理系统;

    具体的,创建有一个独立的认证中心,只有认证中心才能接受用户的用户名和密码等信息进行认证,其他系统不提供登录入口,只接受认证中心的间接授权,间接授权通过令牌实现,当用户提供的用户名和密码通过认证中心认证后,认证中心会创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌即得到了授权,然后创建局部会话。

    网关用于截取所有的请求,即将用户的登录信息进行截取。

    s2,在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关;

    具体的,在构建了认证中心及网关后,当用户登录时,认证中心根据用户登录的用户名及密码生成token,并将生成的token转发给网关。

    s3,网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互;

    具体的,网关接收到token后,对用户身份的信息进行初步验证,即判断用户所使用的用户名及密码是否具有访问服务器的权限,在验证对应的用户名及密码具有访问服务器的权限后,建立用户端与服务器之间的交互。

    s4,在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限;

    具体的,在验证通过并交互形成后,再次判断用户的等级,即用户登录所使用的账号及密码所对应的等级,并根据用户的等级,赋予与之等级对应的访问权限,从而实现用户身份的认证,避免无认证的访问发生。

    请参阅图2,步骤s1包括子步骤:

    s11,创建独立的认证中心;

    具体的,创建有一个独立的认证中心,只有认证中心才能接受用户的用户名和密码等信息进行认证,其他系统不提供登录入口,只接受认证中心的间接授权。

    s12,构建可截取认证中心信息的网关;

    具体的,网关(gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

    请参阅图3,步骤s2还包括子步骤:

    s21,向认证中心发送请求;

    具体的,当用户使用用户名及账号进行登录时,会自动向认证中心发送认证请求。

    s22,认证中心接收到请求后生成token;

    具体的,token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示。在用户使用用户名及密码进行登录时,向认证中心发送请求,认证中心接受到请求后生成token。

    s23,将生产的token发送给网关;

    具体的,在认证中心生成token后,网关截取token。

    请参阅图4,步骤s3还包括子步骤;

    s31,网关对token进行验证,判断token对应的用户信息是否具有访问权限;

    具体的,在网关截取到token后,对token进行验证,初步的判断token对应的用户信息是否具有访问的权限。

    s32,验证通过后建立用户端与服务器端的交互;

    具体的,在验证通过后,建立用户端与服务器端的交互。反之,在验证未通过时,则拒绝用户端的访问。

    进一步的,网关对token进行解析验证时,对解析到的用户信息按照预设的加密算法加密生成签名,该签名包括网关颁发给第一微服务的key、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密。

    请参阅图5,步骤s4还包括子步骤:

    s41,判断用户等级;

    具体的,在初步的建立交互后,再次比对用户信息的等级,如一般用户、会员用户等,通过将用户信息与服务器内预存的等级对应表进行对比,即可判断出用户的等级。

    可以理解,服务器内预存的等级对应表为在账号建立时即已进行储存记录的数据。

    s42,根据不同等级赋予访问权限;

    具体的,在步骤s41中判断出用户的等级后,根据不同等级的用户,分别赋予其不同的访问权限。

    本发明还提供一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法步骤。存储介质可以包括如软盘、光盘、dvd、硬盘、闪存、u盘、cf卡、sd卡、mmc卡、sm卡、记忆棒(memorystick)、xd卡等。

    计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可以是个人计算机设备、服务器或其他网络设备等)用以执行本发明方法的全部或部分步骤。

    本发明还提供一种基于微服务的身份认证系统,该基于微服务的身份认证系统包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时,实现基于微服务的身份认证方法。

    与现有技术相比,本发明所提供的基于微服务的身份认证方法、存储介质及系统具有以下有益效果:

    通过向认证中心发送请求并生成token,以判断用户是否初步具备交互,在判断具备初步具备交互资格后,在根据不同用户等级赋予不同的访问权限,从而实现了在微服务端的身份验证,避免了无认证也可访问的情况。

    以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明的保护范围内。


    技术特征:

    1.一种基于微服务的身份认证方法,其特征在于,包括步骤:

    构建包括认证中心及网管的微服务管理系统;

    在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关;

    网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互;

    在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限。

    2.如权利要求1所述的一种基于微服务的身份认证方法,其特征在于,所述构建包括认证中心及网管的微服务管理系统包括步骤:

    创建独立的认证中心;

    构建可截取认证中心信息的网关。

    3.如权利要求1所述的一种基于微服务的身份认证方法,其特征在于,所述在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关包括步骤:

    向认证中心发送请求;

    认证中心接收到请求后生成token;

    将生产的token发送给网关。

    4.如权利要求1所述的一种基于微服务的身份认证方法,其特征在于,所述网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互包括步骤:

    网关对token进行验证,判断token对应的用户信息是否具有访问权限;

    验证通过后建立用户端与服务器端的交互。

    5.如权利要求1所述的一种基于微服务的身份认证方法,其特征在于,所述在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限包括步骤:

    判断用户等级;

    根据不同等级赋予访问权限。

    6.如权利要求4所述的一种基于微服务的身份认证方法,其特征在于:

    网关对token进行解析验证时,对解析到的用户信息按照预设的加密算法加密生成签名,该签名包括网关颁发给第一微服务的key、当前时间戳、加密类型、加密算法、密钥进行预设加密算法的加密。

    7.如权利要求1所述的一种基于微服务的身份认证方法,其特征在于:

    所述认证中心为独立的认证中心,只有认证中心才能接受用户的用户名和密码等信息进行认证,其他系统不提供登录入口。

    8.一种存储介质,其特征在于:

    所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1-7中任一项中所述的基于微服务的身份认证方法。

    9.一种基于微服务的身份认证系统,其特征在于:

    所述基于微服务的身份认证系统包括处理器及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行,实现如权利要求1-7任一项所述的基于微服务的身份认证方法。

    技术总结
    本发明涉及一种基于微服务的身份认证方法,其包括步骤,构建包括认证中心及网管的微服务管理系统;在认证中心接收到请求时,认证中心根据用户信息生成token,并将该token转发给网关;网关利用token初步验证用户信息的身份,在验证通过后建立用户端与服务器之间的交互;在建立用户与服务器之间的交互后,判断用户的等级,并根据等级的不同,赋予不同的访问权限。本发明还提供一种存储介质及基于微服务的身份认证系统,本发明提供的基于微服务的身份认证方法、存储介质及系统可对用户身份进行认证,避免无认证的登录情况。

    技术研发人员:贺昌茂;聂小玉
    受保护的技术使用者:武汉海昌信息技术有限公司
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-7796.html

    最新回复(0)