一种基于微服务的认证鉴权方法与流程

文档序号:21037472发布日期:2020-06-09 20:30阅读:173来源:国知局
一种基于微服务的认证鉴权方法与流程

本发明涉及微服务架构应用领域,特别涉及一种在微服务架构功能解耦分散的实现场景下,提出权限网关的概念,用来归集整体微服务架构认证鉴权功能,做到所实施的系统安全策略,准确认证用户、精确计算用户权限边界、返回结果数据在用户权限边界充分收敛。较好的补充了微服务架构的安全特性的一种基于微服务的认证鉴权方法。



背景技术:

微服务不需要像普通服务那样成为一种独立的功能或者独立的资源。定义中称,微服务是需要与业务能力相匹配,微服务架构(microservicearchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。

企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,微服务被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展。

目前,需要一种在微服务架构功能解耦分散的实现场景下,提出权限网关的概念,用来归集整体微服务架构认证鉴权功能,做到所实施的系统安全策略,准确认证用户、精确计算用户权限边界、返回结果数据在用户权限边界充分收敛。较好的补充了微服务架构的安全特性的方法。



技术实现要素:

本发明实施例提供一种基于微服务的认证鉴权方法,本发明方法可以在微服务架构功能解耦分散的实现场景下,提出权限网关的概念,用来归集整体微服务架构认证鉴权功能,做到所实施的系统安全策略,准确认证用户、精确计算用户权限边界、返回结果数据在用户权限边界充分收敛。较好的补充了微服务架构的安全特性。

本发明提供一种基于微服务的认证鉴权方法,其中,包括:

客户端访问服务端服务;

若登陆信息合法,则访问服务端服务;

若登陆信息不合法,则进行登陆合法后访问服务端服务;

通过对用户针对服务端服务进行鉴权,判断客户端是否有权对服务端服务进行访问。

若用户对服务端服务有权访问,则对服务端服务返回的结果针对用户觉得进行数据领域投影后返回至客户端。

一种基于微服务的认证鉴权方法,其中,所述客户端访问服务端服务的访问请求必然倒流至认证鉴权服务网关。

一种基于微服务的认证鉴权方法,其中,所述客户端访问服务端服务,具体包括:

所述客户端携带认证指纹信息,并将访问服务路径信息、参数信息发送给所述服务器;

所述服务器验证所述认证指纹信息是否合法,以此表征用户登录是否有效。

一种基于微服务的认证鉴权方法,其中,若登陆信息合法,则进行访问服务端服务,具体包括:

所述认证鉴权服务网关解析获得客户端所述认证指纹信息,调用认证指纹信息快速缓存服务,验证所述认证指纹信息的合法性状态;

若所述认证指纹信息合法,则将所述访问服务路径信息、参数信息发送给所述服务器鉴权微服务。

一种基于微服务的认证鉴权方法,其中,所述的认证鉴权服务网关解析获得客户端所述认证指纹信息,调用认证指纹信息快速缓存服务,验证所述认证指纹信息的合法性状态,具体包括:

所述认证鉴权服务网关将接收到的http请求authentication头信息进行读取解析;

所述认证鉴权服务网关将所述认证指纹信息id查询快速缓存服务,查询是否已有记录并在有效期内,以此判断所述客户端登陆信息是否合法。

一种基于微服务的认证鉴权方法,其中,当登陆信息不合法时,则进行登陆合法后访问服务端服务,具体包括:

若所述认证鉴权服务网关调用所述认证指纹信息快速缓存服务后认定所述指纹信息不合法,则将登陆端口信息、未登录标志信息返回至所述客户端,所述客户端提交认证信息至所述登陆端口经验证合法后,则将所述访问服务路径信息、参数信息发送给所述服务器鉴权微服务,判断用户是否有权对改服务进行访问。

一种基于微服务的认证鉴权方法,其中,所述认证鉴权服务网关调用所述认证指纹信息快速缓存服务后认定所述指纹信息不合法,则将登陆端口信息、未登录标志信息返回至所述客户端,所述客户端提交认证信息至所述登陆端口经验证,具体包括:

所述认证鉴权服务网关将所述认证指纹信息id查询快速缓存服务,查询没有记录或不在有效期内,以此判断所述客户端登陆信息不合法。

所述客户端提交认证信息至所述登陆端口,所述登陆端口查询用户认证数据库,判断所述认证信息是否合法,以此判别所述客户端登陆是否成功,若成功,则生成所述认证指纹信息,并存入所述快速缓存服务,同时返回至客户端留存。

一种基于微服务的认证鉴权方法,其中,通过对用户针对服务端服务进行鉴权,判断客户端是否有权对服务端服务进行访问,具体包括:

所述鉴权微服务接收所述合法认证指纹信息,经运算获得访问用户名;

所述鉴权微服务使用所述访问用户名,查询用户角色数据库,获得访问用户角色;

所述鉴权微服务使用所述访问用户角色和所述访问服务路径信息、参数信息进行匹配运算,得到服务是否可访问结果;

当在可访问情况下,所述鉴权微服务将所述访问服务路径信息、参数信息发送至所诉服务端具体服务,所诉服务端具体服务经过具体业务运算生成结果数据,并将结果数据发送至用户数据领域微服务,当在不可访问情况下,向所述客户端返回不可访问提示。

一种基于微服务的认证鉴权方法,其中,所述鉴权微服务接收所述合法认证指纹信息,经运算获得访问用户名,具体包括:

所述鉴权微服务解密所述认证指纹信息,得到所述客户端用户id后查询所述用户角色数据库,获得用户角色集合。

一种基于微服务的认证鉴权方法,其中,若用户对服务端服务有权访问,则对服务端服务返回的结果针对用户角色进行数据领域投影后返回至客户端,具体包括:

所述用户数据领域微服务接收所诉用户权限信息,查询用户数据领域数据库,获得用户数据领域参数;

所述用户数据领域微服务接收所诉结果数据,利用所述数据领域参数,对所述结果数据进行投影运算,滤除所述用户领域范围外数据,得到最终数据结果。

所述用户数据领域微服务将所述最终数据结果发送至所述服务器。所述服务器将所述最终数据结果返回至所述客户端用户。

一种基于微服务的认证鉴权方法,其中,所述用户数据领域微服务接收所诉结果数据,利用所述数据领域参数,对所述结果数据进行投影运算,滤除所述用户领域范围外数据,得到最终数据结果,具体包括:

所述数据领域微服务使用述数据领域参数对所诉结果数据进行数据筛选运算,保留用户领域内数据,确保用户领域范围外数据不能返回至所述客户端。

由此可见:

本发明实施例中的一种基于微服务的认证鉴权方法:可以在微服务架构功能解耦分散的实现场景下,提出权限网关的概念,用来归集整体微服务架构认证鉴权功能,做到所实施的系统安全策略,准确认证用户、精确计算用户权限边界、返回结果数据在用户权限边界充分收敛。较好的补充了微服务架构的安全特性。

附图说明

图1为本发明的实施例提供的一种基于微服务的认证鉴权方法的整体流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例以及说明用来解释本发明,但并不作为对本发明的限定。

实施例1:

图1为一种基于微服务的认证鉴权方法的流程示意图,如图1所示,该方法包括如下步骤:

客户端访问服务端服务;

若登陆信息合法,则访问服务端服务;

若登陆信息不合法,则进行登陆合法后访问服务端服务;

通过对用户针对服务端服务进行鉴权,判断客户端是否有权对服务端服务进行访问;

若用户对服务端服务有权访问,则对服务端服务返回的结果针对用户觉得进行数据领域投影后返回至客户端。

具体实施案例中,所述客户端访问服务端服务的访问请求必然倒流至认证鉴权服务网关。

具体实施案例中,所述客户端访问服务端服务,具体包括:

所述客户端携带认证指纹信息,并将访问服务路径信息、参数信息发送给所述服务器;

所述服务器验证所述认证指纹信息是否合法,以此表征用户登录是否有效。

具体实施案例中,若登陆信息合法,则进行访问服务端服务,具体包括:

所述认证鉴权服务网关解析获得客户端所述认证指纹信息,调用认证指纹信息快速缓存服务,验证所述认证指纹信息的合法性状态;

若所述认证指纹信息合法,则将所述访问服务路径信息、参数信息发送给所述服务器鉴权微服务。

具体实施案例中,所述的认证鉴权服务网关解析获得客户端所述认证指纹信息,调用认证指纹信息快速缓存服务,验证所述认证指纹信息的合法性状态,具体包括:

所述认证鉴权服务网关将接收到的http请求authentication头信息进行读取解析;

所述认证鉴权服务网关将所述认证指纹信息id查询快速缓存服务,查询是否已有记录并在有效期内,以此判断所述客户端登陆信息是否合法。

具体实施案例中,当登陆信息不合法时,则进行登陆合法后访问服务端服务,具体包括:

若所述认证鉴权服务网关调用所述认证指纹信息快速缓存服务后认定所述指纹信息不合法,则将登陆端口信息、未登录标志信息返回至所述客户端,所述客户端提交认证信息至所述登陆端口经验证合法后,则将所述访问服务路径信息、参数信息发送给所述服务器鉴权微服务,判断用户是否有权对改服务进行访问。

具体实施案例中,所述认证鉴权服务网关调用所述认证指纹信息快速缓存服务后认定所述指纹信息不合法,则将登陆端口信息、未登录标志信息返回至所述客户端,所述客户端提交认证信息至所述登陆端口经验证,具体包括:

所述认证鉴权服务网关将所述认证指纹信息id查询快速缓存服务,查询没有记录或不在有效期内,以此判断所述客户端登陆信息不合法。

所述客户端提交认证信息至所述登陆端口,所述登陆端口查询用户认证数据库,判断所述认证信息是否合法,以此判别所述客户端登陆是否成功,若成功,则生成所述认证指纹信息,并存入所述快速缓存服务,同时返回至客户端留存。

具体实施案例中,通过对用户针对服务端服务进行鉴权,判断客户端是否有权对服务端服务进行访问,具体包括:

所述鉴权微服务接收所述合法认证指纹信息,经运算获得访问用户名;

所述鉴权微服务使用所述访问用户名,查询用户角色数据库,获得访问用户角色;

所述鉴权微服务使用所述访问用户角色和所述访问服务路径信息、参数信息进行匹配运算,得到服务是否可访问结果;

当在可访问情况下,所述鉴权微服务将所述访问服务路径信息、参数信息发送至所诉服务端具体服务,所诉服务端具体服务经过具体业务运算生成结果数据,并将结果数据发送至用户数据领域微服务,当在不可访问情况下,向所述客户端返回不可访问提示。

具体实施案例中,所述鉴权微服务接收所述合法认证指纹信息,经运算获得访问用户名,具体包括:

所述鉴权微服务解密所述认证指纹信息,得到所述客户端用户id后查询所述用户角色数据库,获得用户角色集合。

具体实施案例中,若用户对服务端服务有权访问,则对服务端服务返回的结果针对用户角色进行数据领域投影后返回至客户端,具体包括:

所述用户数据领域微服务接收所诉用户权限信息,查询用户数据领域数据库,获得用户数据领域参数;

所述用户数据领域微服务接收所诉结果数据,利用所述数据领域参数,对所述结果数据进行投影运算,滤除所述用户领域范围外数据,得到最终数据结果。

所述用户数据领域微服务将所述最终数据结果发送至所述服务器。所述服务器将所述最终数据结果返回至所述客户端用户。

具体实施案例中,所述用户数据领域微服务接收所诉结果数据,利用所述数据领域参数,对所述结果数据进行投影运算,滤除所述用户领域范围外数据,得到最终数据结果,具体包括:

所述数据领域微服务使用述数据领域参数对所诉结果数据进行数据筛选运算,保留用户领域内数据,确保用户领域范围外数据不能返回至所述客户端。

由此可见:本发明实施例中的一种基于微服务的认证鉴权方法:可以在微服务架构功能解耦分散的实现场景下,提出权限网关的概念,用来归集整体微服务架构认证鉴权功能,做到所实施的系统安全策略,准确认证用户、精确计算用户权限边界、返回结果数据在用户权限边界充分收敛。较好的补充了微服务架构的安全特性。

虽然通过实施例描绘了本发明实施例,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1