一种多端多级认证、鉴权的方法技术

技术编号:38516652 阅读:9 留言:0更新日期:2023-08-19 16:57
本发明专利技术公开一种多端多级认证、鉴权的方法,其应用于一分布式系统中,其中所述分布式系统包括Web服务器和多个应用服务器,所述方法包括以下步骤:S1:在Web服务器中设置认证模块,认证模块将应用服务器进行分组,并为每一组应用服务器设置一个对应的认证服务器,为每一认证服务器设置对应的优先级;S2:任一客户端向Web服务器发送请求,Web服务器的认证模块向所请求的应用服务器所在组的认证服务器进行匹配认证;S3:客户端通过认证口令向其请求的应用服务器获取对应的资源;S4:请求的应用服务器将认证口令发送给对应的认证服务器进行鉴权和权限控制。行鉴权和权限控制。行鉴权和权限控制。

【技术实现步骤摘要】
一种多端多级认证、鉴权的方法


[0001]本专利技术涉及服务端管理
,具体而言,涉及一种多端多级认证、鉴权的方法,更具体地是一种针对多个服务端、多种重要性级别进行认证和鉴权的方案。

技术介绍

[0002]随着企业的应用系统或者在微服务架构下,企业平台业务拆分的板块逐渐增多。构建安全、统一的标准化账户管理体系是必不可少的,因为它是企业互联网云平台的重要基础设施,能够为平台带来统一的账号管理、身份认证、用户授权等基础能力,为企业带来诸如跨系统单点登录、第三方授权登录等基础能力,为构建开放平台和业务生态提供了必要条件。
[0003]标准化账户管理系统通常包含四个部分:认证、授权、鉴权和权限控制。其中,认证是登录者提供必要的信息指明登录者的身份;授权是资源所有者赋予执行者(登录者)指定范围的资源操作权限;鉴权是对执行者所拥有的身份权利真实性的鉴别确认过程;权限控制是指对可执行的操作组合成权限列表,然后根据执行者的权限对其操作进行放行或拦截。因此,在构建企业标准化账户管理体系的同时,不仅需要使各个板块之间的认证和鉴权等过程高效的进行,而且还要使整个系统的认证到权限控制的流程是安全的,能够抵御恶意的网络攻击导致的系统崩溃,以及数据泄露。
[0004]目前,企业通常使用API来连接服务和传输数据。通常API在到达应用服务器进行资源请求之前会先到认证服务器进行用户认证和权限鉴定。其中,JWT(JSON Web Token)是一种标准的认证解决方案。它的解决步骤包括:1)用户使用用户名和口令到认证服务器上请求认证;2)认证服务器验证用户名和口令后生成JWT Token(令牌),然后将Token返回给客户端;3)客户端在请求应用服务器资源时,带上JWT Token;4)应用服务器将JWT Token传给认证服务器检查JWT Token,确认签名是否正确;5)认证服务器验证通过后,通知应用服务器;6)应用服务器认为请求合法,返回请求的资源。
[0005]然而,现在业务架构中的服务一般都是模块化、组件化的,与传统的单一架构差异很大。一个大型的平台通常使用消息总线的方式将多个独立的服务连接在一起,然后每个独立的组件通过RESTful接口规范向外提供API服务。那么当使用单一的认证服务器提供JWT Token时,无法根据组件的重要性进行分组,无法以服务组为粒度进行认证和鉴权。此外,当一个系统中存在多种不同的认证方案时,统一认证方案会很低效。因此,本领域亟需一种能够针对于多服务端、多级别的认证和鉴权方案,以满足现实需求的多样性,且可以提供更好的系统兼容性。

技术实现思路

[0006]针对上述单认证服务器进行认证、鉴权所存在的问题,本专利技术的目的在于提供一种多端多级认证、鉴权的方法,通过将服务端分组,并通过不同的认证服务器对不同组的应用服务分别进行认证、鉴权,以满足多服务端和不同安全级别的服务的认证需求,从而更好地适用于现有的分布式系统。
[0007]为达到上述目的,本专利技术提供了一种多端多级认证、鉴权的方法,其应用于一分布式系统中,其中所述分布式系统包括Web服务器和多个应用服务器,所述方法包括以下步骤:步骤S1:在Web服务器中设置认证模块,认证模块将应用服务器进行分组,并为每一组应用服务器设置一个对应的认证服务器,为每一认证服务器设置对应的优先级;步骤S2:任一客户端向Web服务器发送请求,Web服务器的认证模块向所请求的应用服务器所在组的认证服务器进行匹配认证;步骤S3:客户端通过认证口令向其请求的应用服务器获取对应的资源;步骤S4:请求的应用服务器将认证口令发送给对应的认证服务器进行鉴权和权限控制。
[0008]在本专利技术一实施例中,其中,步骤S1中认证模块将应用服务器进行分组的具体过程包括:步骤S101:启动系统后Web服务器读取认证模块预设的配置文件,所述配置文件包括:请求前缀、认证地址、分组配置信息、优先级别及根据优先级别的认证转发设置;步骤S102:根据配置文件的设置对应用服务器进行分组,并为每一组分配一认证服务器;步骤S103:设置分组优先级,其中:若将所有认证服务器的优先级设置为一致,则各组应用服务器为水平模式,直接转入步骤S105;若将每一认证服务器的优先级设置为不一致,则各组应用服务器为垂直模式,执行步骤S104;步骤S104:根据设置的不同组的认证服务器的优先级生成认证管道;步骤S105:生成每个组内应用服务器的转发规则。
[0009]在本专利技术一实施例中,其中,步骤S105具体包括:步骤S1051:若应用服务器为水平模式设置,则直接获取配置文件中的分组配置信息,生成URL转发规则;若应用服务器为垂直模式设置,则先对生成的认证管道进行遍历,如果遍历通过则将认证管道的规则作为转发规则输出;否则获取配置文件中的分组配置信息,生成URL转发规则;步骤S1052:根据生成的URL转发规则生成Nginx的location匹配规则;步骤S1053:根据分组的认证服务器生成代理相关信息;步骤S1054:判断应用服务器是否为水平模式,如果是则将生成的代理相关信息作为转发规则输出;否则,返回步骤S1501对生成的认证管道重新进行遍历。
[0010]在本专利技术一实施例中,其中,步骤S2中认证模块对请求进行匹配认证的具体过程
包括:步骤S201:认证模块接收请求后,解析请求的URL信息;步骤S202:判断对应应用服务器的分组优先级,其中:若判断应用服务器为水平模式设置,则直接将请求转发到解析出的URL信息所匹配到的认证服务器进行认证或授权;否则,判断应用服务器是否为垂直模式设置,如果是,则根据认证模块的上下文加载认证管道,并判断认证过程能否串行通过,如果能则执行认证或授权,否则返回认证失败;若判断应用服务器既不是水平模式设置也不是垂直模式设置,则返回认证失败;步骤S203:认证成功,并将认证口令发送给请求的客户端。
[0011]在本专利技术一实施例中,其中,当应用服务器为垂直模式设置时,还包括在最高优先级的认证服务器中对网络请求增加安全认证。
[0012]本专利技术提供的多端多级认证、鉴权的方法,与现有技术相比,其优点至少在于:1)通过分组可以为各组的应用服务器进行单独认证和鉴权,提高了认证和鉴权的效率;2)通过认证模块的配置,可以动态的设置不同服务组之间、不同级别的认证和鉴权过程,不仅能够根据实际需求,保证多级服务端的安全性,而且能够满足不同服务架构对认证和鉴权的多样化的需求。
附图说明
[0013]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本专利技术一实施例的多端多级的认证、鉴权的流程示意图;图2为本专利技术一实施例中的认证模块分组的流程示意图;图3为本专利技术一实施例中的认证模块生成转发规则的示意图;图4本专利技术一实施例中的认证模块对请求进行匹配认证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多端多级认证、鉴权的方法,其应用于一分布式系统中,其中所述分布式系统包括Web服务器和多个应用服务器,其特征在于,所述方法包括以下步骤:步骤S1:在Web服务器中设置认证模块,认证模块将应用服务器进行分组,并为每一组应用服务器设置一个对应的认证服务器,为每一认证服务器设置对应的优先级;步骤S2:任一客户端向Web服务器发送请求,Web服务器的认证模块向所请求的应用服务器所在组的认证服务器进行匹配认证;步骤S3:客户端通过认证口令向其请求的应用服务器获取对应的资源;步骤S4:请求的应用服务器将认证口令发送给对应的认证服务器进行鉴权和权限控制。2.根据权利要求1所述的多端多级认证、鉴权的方法,其特征在于,步骤S1中认证模块将应用服务器进行分组的具体过程包括:步骤S101:启动系统后Web服务器读取认证模块预设的配置文件,所述配置文件包括:请求前缀、认证地址、分组配置信息、优先级别及根据优先级别的认证转发设置;步骤S102:根据配置文件的设置对应用服务器进行分组,并为每一组分配一认证服务器;步骤S103:设置分组优先级,其中:若将所有认证服务器的优先级设置为一致,则各组应用服务器为水平模式,直接转入步骤S105;若将每一认证服务器的优先级设置为不一致,则各组应用服务器为垂直模式,执行步骤S104;步骤S104:根据设置的不同组的认证服务器的优先级生成认证管道;步骤S105:生成每个组内应用服务器的转发规则。3.根据权利要求2所述的多端多级认证、鉴权的方法,其特征在于,步骤S105具体包括:步骤S...

【专利技术属性】
技术研发人员:陈强王达罗鑫
申请(专利权)人:北京睿芯高通量科技有限公司
类型:发明
国别省市:

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

1