CN113472794A - 基于微服务的多应用***权限统一管理方法和计算机可读存储介质 - Google Patents

基于微服务的多应用***权限统一管理方法和计算机可读存储介质 Download PDF

Info

Publication number
CN113472794A
CN113472794A CN202110755655.XA CN202110755655A CN113472794A CN 113472794 A CN113472794 A CN 113472794A CN 202110755655 A CN202110755655 A CN 202110755655A CN 113472794 A CN113472794 A CN 113472794A
Authority
CN
China
Prior art keywords
service
application
token
user
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110755655.XA
Other languages
English (en)
Other versions
CN113472794B (zh
Inventor
陈献宇
李�昊
田有隆
谢招楷
徐术欢
陈骏
余永先
孔令豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou Institute Of Data Technology Co ltd
Original Assignee
Fuzhou Institute Of Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou Institute Of Data Technology Co ltd filed Critical Fuzhou Institute Of Data Technology Co ltd
Priority to CN202110755655.XA priority Critical patent/CN113472794B/zh
Publication of CN113472794A publication Critical patent/CN113472794A/zh
Application granted granted Critical
Publication of CN113472794B publication Critical patent/CN113472794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及微服务技术领域,特别涉及基于微服务的多应用***权限统一管理方法和计算机可读存储介质。所述基于微服务的多应用***权限统一管理方法,包括步骤:对不同应用的用户权限生成一个独立用户权限服务;接收外部请求,统一网关对外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务;应用服务接收外部请求并验证外部请求携带的服务令牌,和/或用户权限服务接收外部请求并验证外部请求携带的服务令牌。以上步骤中,对不同应用的用户权限生成一个独立用户权限服务,对外提供一致的服务版本,强制统一版本,避免了SDK版本不一造成的接口不兼容,多版本维护困难,统一的管理为***的稳定运行提供了保障。

Description

基于微服务的多应用***权限统一管理方法和计算机可读存 储介质
技术领域
本发明涉及微服务技术领域,特别涉及基于微服务的多应用***权限统一管理方法和计算机可读存储介质。
背景技术
目前随着互联网应用的扩张,传统单体应用架构的开发、部署和运维都会越来越慢,越来越复杂,甚至在单体架构应用开发中敏捷模式无法施展开;基于此,具有更高独立性、可用性和弹性的微服务应运而生。从结构上看,微服务架构将一个应用拆分成多个松耦合的服务,这些服务之间通过某种协议(REST、RPC等)进行互相协作,完成原单体架构功能,但提供更灵活的部署模式,更容易扩展,降低了开发、运维上的复杂度。
在微服务架构中,***对访问权限的控制主要通过API网关实现。网关作为入口对外部请求进行认证与鉴权,请求认证鉴权成功后,分发请求至相应的微服务应用,微服务不再进行有效的安全认证与授权,由于无法鉴权,使得有些私密的API接口直接暴露在外,降低了整个***安全性大大的降低。
在传统的单体应用中,对用户的权限控制大多数是通过Session来实现;而微服务架构则是分布式架构,保留传统Session方式的权限控制,需要提供额外的Session复制机制。在该模式下,***服务拆分越多占用网络、服务器资源越多;并且每个服务需独立校验权限,增加***响应的延迟和复杂程度,已不适合应用于微服务架构。
多个应用***一般采用统一的SDK方式实现统一鉴权,随着业务***的不断扩大造成SDK版本迭代不统一,更新不及时情况;同一类型的业务***基础服务重复构建等;如何有效的实现微服务架构下的权限认证成为亟需解决的问题。
发明内容
为此,需要提供基于微服务的多应用***权限统一管理方法,用以解决现有技术微服务权限认证安全性低、***响应慢等技术问题。具体技术方案如下:
基于微服务的多应用***权限统一管理方法,包括步骤:
对不同应用的用户权限生成一个独立用户权限服务;
接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务;
所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌,和/或所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌。
进一步的,所述“接收外部请求,统一网关对所述外部请求的信息进行审核”前,还包括步骤:
网关服务、所述用户权限服务和各个应用服务向注册服务中心注册服务,并从所述注册服务中心同步所有注册到注册服务中心的服务实例;
所述网关服务和所述应用服务向所述用户权限服务申请服务令牌;
所述网关服务转发其它服务请求时,在所述服务请求的请求信息的请求头中携带所述服务令牌;或所述应用服务发出请求时,在所述请求的请求信息的请求头中携带所述服务令牌。
进一步的,所述“网关服务、所述用户权限服务和各个应用服务向注册服务中心注册服务,并从所述注册服务中心同步所有注册到注册服务中心的服务实例”,具体还包括步骤:
所述网关服务、所述用户权限服务、各个应用服务在启动时自动向注册服务中心注册服务;
所述网关服务、所述用户权限服务、各个应用服务在启动后实时从所述注册服务中心同步所有注册到注册服务中心的服务实例的地址列表至本地;
不同应用服务连接各自的应用存储,并将存储连接配置信息同步至所述用户权限服务中。
进一步的,所述“所述网关服务和所述应用服务向所述用户权限服务申请服务令牌”,具体还包括步骤:
所述网关服务发布网关服务公钥至所述用户权限服务,发布成功后加载网关服务私钥,并对注册的网关服务ID进行网关服务私钥加密生成网关服务ID密文;
所述应用服务发布应用服务公钥和应用存储连接的配置信息至所述用户权限服务,发布成功后加载应用服务私钥,并对注册的应用服务ID进行应用服务私钥加密生成应用服务ID密文;
所述网关服务向所述用户权限服务提交所述网关服务ID密文和网关注册信息,申请服务令牌;
所述应用服务向所述用户权限服务提交所述应用服务ID密文和应用注册信息,申请服务令牌;
所述用户权限服务校验所述网关注册信息是否合法并使用所述网关服务公钥验证所述网关服务ID密文,若所述网关注册信息合法且所述网关服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述网关服务;
所述用户权限服务校验所述应用注册信息是否合法并使用所述应用服务公钥验证所述应用服务ID密文,若所述应用注册信息合法且所述应用服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述应用服务;
所述服务令牌由所述用户权限服务内置的用户权限服务令牌私钥生成;
对外公布用户权限服务令牌公钥。
进一步的,所述“接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务”,具体还包括步骤:
外部应用通过统一网关向所述用户权限服务发起授权申请;
所述统一网关响应外部请求,向所述用户权限服务发送授权申请的请求信息;
所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息,从加载的配置信息连接对应的存储库,获取请求用户信息并验证用户合法性,若用户合法,则创建合法用户的Session,并存放所述Session至存储缓存中,并根据用户Session和应用***标识生成授权Token,生成的Token通过网关返回至外部应用;
所述授权Token由所述用户权限服务内置的Token私钥加密生成,对外公布Token公钥。
进一步的,所述“所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息”后,具体还包括步骤:
若未发现所述应用***对应的配置信息,则直接返回错误提示;
所述“获取请求用户信息并验证用户合法性”后,具体还包括步骤:
若用户不合法,则直接返回错误提示。
进一步的,还包括步骤:
外部应用发送携带所述Token的请求至统一网关;
所述统一网关使用Token公钥验证Token信息,Token验证合法后,向所述用户权限服务获取对应用户的授权信息;
所述用户权限服务再次验证Token,并根据Token中应用标识连接对应的存储库,从对应的存储库中检索用户授权信息,并返回检索结果至统一网关;
所述统一网关根据返回的用户授权列表,对请求资源做匹配,如果请求资源与授权列表相匹配,则根据服务路由规则将请求分配到对应运行的应用服务的服务器上;
所述“所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述应用服务接收到请求信息后,验证服务令牌和Token是否合法,若所述服务令牌和所述Token合法,则使用Token公钥提取Token中的用户信息,根据用户信息和所请求的资源执行业务流程,并返回执行结果至统一网关;
所述统一网关同步返回执行结果至外部应用。
进一步的,所述“对请求资源做匹配”后,具体还包括步骤:
如果请求资源未匹配授权列表,则返回越权错误信息;
所述“则使用Token公钥提取Token中的用户信息”后,具体还包括步骤:
若需要更多的用户信息,则同步向所述用户权限服务发送请求获取用户详情信息。
进一步的,所述“所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述统一网关将本次应用标识、请求信息、执行结果封装成审计日志,异步提交所述审计日志至用户权限服务,所述用户权限服务验证服务令牌,若服务令牌验证通过,则根据所述审计日志的应用标识保存至对应的存储库中,并返回日志状态。
为解决上述技术问题,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述所提及的基于微服务的多应用***权限统一管理方法的任意步骤。
本发明的有益效果是:基于微服务的多应用***权限统一管理方法,包括步骤:对不同应用的用户权限生成一个独立用户权限服务;接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务;所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌,和/或所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌。以上步骤中,对不同应用的用户权限生成一个独立用户权限服务,对外提供一致的服务版本,强制统一版本,避免了SDK版本不一造成的接口不兼容,多版本维护困难,统一的管理为***的稳定运行提供了保障。且通过统一的用户权限服务高效的实现了微服务架构下多应用***的权限认证,从而不需要第三方框架这种复杂的权限控制,方便后续的权限功能的调整和扩展。所运行的应用服务实例不再处理权限控制,可以更高效的处理业务流程,提高响应速度。且各个应用***的研发过程不再关注和处理权限控制流程,提高研发人员的开发效率。
进一步的,通过注册服务中心对各类服务进行有效管理;同一个服务可以部署多个服务实例,实现服务的动态扩容,能够有效分担压力提高性能,并在某个服务实例异常中断时,其他服务实例还能继续响应。
进一步的,通过服务令牌方式有效的保护各微服务应用的接口未直接暴露在外,外部应用调用接口必须通过统一网关来实现,提高应用***的安全性。
进一步的,多应用***通过微服务架构方式,统一不同应用***内部的资源认证、鉴权和日志审计,保证业务应用专注于本身的业务逻辑实现。
附图说明
图1为具体实施方式所述基于微服务的多应用***权限统一管理方法的流程图;
图2为具体实施方式所述基于微服务的多应用***权限统一管理方法基于微服务架构的运行框架示意图;
图3为具体实施方式所述网关服务和应用服务获取到服务令牌步骤流程图一;
图4为具体实施方式所述网关服务和应用服务获取到服务令牌步骤流程图二;
图5为具体实施方式所述网关服务和应用服务获取到服务令牌步骤流程图三;
图6为具体实施方式所述登录请求处理步骤流程图;
图7为具体实施方式所述用户凭证Token授权时序图;
图8为具体实施方式所述用户鉴权时序图;
图9为具体实施方式所述一种计算机可读存储介质的模块示意图。
附图标记说明:
900、一种计算机可读存储介质。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1至图8,首先对本申请的核心技术思想进行说明,本申请的核心技术思想在于将不同应用的用户权限功能独立成一个微服务,对外提供统一的用户登录及权限服务,强制统一版本,避免了SDK版本不一造成的接口不兼容,多版本维护困难,统一的管理为***的稳定运行提供了保障。且通过统一的用户权限服务高效的实现了微服务架构下多应用***的权限认证,从而不需要第三方框架这种复杂的权限控制,方便后续的权限功能的调整和扩展。并且设置一个统一网关服务,外部请求先全部经过统一网关进行审核,审核通过以后,才进行下一步的处理,提高应用***的安全性,微服务内部则可直接调用用户权限服务,不再通过网关的鉴权及审计处理,保证了业务服务的高效稳定的业务实现。
以下展开具体说明:
首先如图2所示为基于微服务的多应用***权限统一管理方法所运行的框架。其包括:接入层(外部请求)、统一网关服务、轻量化的服务层和多源的存储层。接入层主要指外部应用通过HTTP/HTTPS标准协议发起资源请求;外部请求统一通过Gateway网关进行代理,网关根据服务路由将请求分配到对应运行的微服务的服务器上。网关、用户权限服务、各种应用服务在启动时自动将自己注册到注册中心,同时启动后实时从注册中心同步各个应用服务实例的地址列表到本地,用于同一服务的动态扩容,结合客户端负载均衡策略以达到高可用的服务性能;不同应用服务连接各自的应用存储,并将存储连接配置信息同步到用户权限服务中,用户权限服务在进行权限资源检索时,根据所配置的业务存储库获取相应用户的授权资源,实现多应用***下的权限资源同一配置,统一管理,多应用***间的用户权限资源共享网络、服务器资源。
如图1所示,基于微服务的多应用***权限统一管理方法具体包括步骤:
步骤S101:对不同应用的用户权限生成一个独立用户权限服务。
步骤S102:接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务。
步骤S103:所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌,和/或所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌。
基于微服务的多应用***权限统一管理方法,包括步骤:对不同应用的用户权限生成一个独立用户权限服务;接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务;所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌,和/或所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌。以上步骤中,对不同应用的用户权限生成一个独立用户权限服务,对外提供一致的服务版本,强制统一版本,避免了SDK版本不一造成的接口不兼容,多版本维护困难,统一的管理为***的稳定运行提供了保障。且通过统一的用户权限服务高效的实现了微服务架构下多应用***的权限认证,从而不需要第三方框架这种复杂的权限控制,方便后续的权限功能的调整和扩展。所运行的应用服务实例不再处理权限控制,可以更高效的处理业务流程,提高响应速度。且各个应用***的研发过程不再关注和处理权限控制流程,提高研发人员的开发效率。
以下对网关服务和应用服务如何获取到服务令牌展开说明:
如图3所示,步骤S102具体还包括步骤:
步骤S301:网关服务、所述用户权限服务和各个应用服务向注册服务中心注册服务,并从所述注册服务中心同步所有注册到注册服务中心的服务实例。
步骤S302:所述网关服务和所述应用服务向所述用户权限服务申请服务令牌。
步骤S303:所述网关服务转发其它服务请求时,在所述服务请求的请求信息的请求头中携带所述服务令牌;或所述应用服务发出请求时,在所述请求的请求信息的请求头中携带所述服务令牌。
通过注册服务中心对各类服务进行有效管理;同一个服务可以部署多个服务实例,实现服务的动态扩容,能够有效分担压力提高性能,并在某个服务实例异常中断时,其他服务实例还能继续响应。通过服务化的用户权限,在多应用***模式下,可以简化运维,降低维护人员对技术门槛的要求。通过服务令牌方式有效的保护各微服务应用的接口未直接暴露在外,外部应用调用接口必须通过统一网关来实现,提高应用***的安全性。
进一步的,如图4所示,步骤S301具体还包括步骤:
步骤S401:所述网关服务、所述用户权限服务、各个应用服务在启动时自动向注册服务中心注册服务。即整个微服务应用在运行时,首先启动注册服务,注册服务中心启动完成后,启动用户权限服务,并向注册服务中心注册服务,注册服务中心服务和用户权限服务启动完成后,再启动网关服务和各个应用***对应的应用服务,网关服务和应用服务向注册服务中心注册服务。
步骤S402:所述网关服务、所述用户权限服务、各个应用服务在启动后实时从所述注册服务中心同步所有注册到注册服务中心的服务实例的地址列表至本地。并采用时实(轮询)方式检测注册服务中心上各个服务的运行状态,及时更新本地服务的地址列表。
步骤S403:不同应用服务连接各自的应用存储,并将存储连接配置信息同步至所述用户权限服务中。
进一步的,如图5所示,步骤S302具体还包括步骤:
步骤S501:所述网关服务发布网关服务公钥至所述用户权限服务,发布成功后加载网关服务私钥,并对注册的网关服务ID进行网关服务私钥加密生成网关服务ID密文。该步骤发生在网关服务初始化时。
步骤S502:所述应用服务发布应用服务公钥和应用存储连接的配置信息至所述用户权限服务,发布成功后加载应用服务私钥,并对注册的应用服务ID进行应用服务私钥加密生成应用服务ID密文。该步骤发生在应用服务初始化时。
需要说明的是步骤S501和步骤S502并未存在先后关系,可任意一个步骤在前,也可同时进行。
步骤S503:所述网关服务向所述用户权限服务提交所述网关服务ID密文和网关注册信息,申请服务令牌。
步骤S504:所述应用服务向所述用户权限服务提交所述应用服务ID密文和应用注册信息,申请服务令牌。
需要说明的是步骤S503和步骤S504并未存在先后关系,可任意一个步骤在前,也可同时进行。
步骤S505:所述用户权限服务校验所述网关注册信息是否合法并使用所述网关服务公钥验证所述网关服务ID密文,若所述网关注册信息合法且所述网关服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述网关服务。所述网关服务保存接收到的服务令牌,并在后续所有路由其它服务时,在请求头RequestHeader中携带服务令牌,被调用的微服务在接收请求时,使用所述服务令牌公钥验证服务令牌,以保证该请求是来自微服务内部的调用。
步骤S506:所述用户权限服务校验所述应用注册信息是否合法并使用所述应用服务公钥验证所述应用服务ID密文,若所述应用注册信息合法且所述应用服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述应用服务。所述应用服务保存接收到的服务令牌,并在后续所有路由其它服务时,在请求头RequestHeader中携带服务令牌,被调用的微服务在接收请求时,使用所述服务令牌公钥验证服务令牌,以保证该请求是来自微服务内部的调用。
需要说明的是步骤S505和步骤S506并未存在先后关系,可任意一个步骤在前,也可同时进行。
步骤S507:所述服务令牌由所述用户权限服务内置的用户权限服务令牌私钥生成。步骤S508:对外公布用户权限服务令牌公钥。
需要说明的是,外部应用发起资源请求前,必须先向对应的应用***发送登录请求,获取当前操作用户后台接口调用的用户凭证Token,外部应用将获取的Token妥善保存,在后续的请求过程中,需要在RequestHeader中携带该Token,Token对应的Header的Key为Authorization。如图7阐述了Token获取的流程。
以下结合图6,先对登录请求展开说明:
步骤S601:外部应用通过统一网关向所述用户权限服务发起授权申请。具体可为:外部应用输入提供的应用***标识、操作账号和密码等认证信息,通过统一网关向用户权限服务发起授权申请。
步骤S602:所述统一网关响应外部请求,向所述用户权限服务发送授权申请的请求信息。具体可为:统一网关在收到请求后,根据从注册中心同步的用户权限服务实例的地址表信息,向用户权限服务发送授权申请信息。
步骤S603:所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息,从加载的配置信息连接对应的存储库,获取请求用户信息并验证用户合法性,若用户合法,则创建合法用户的Session,并存放所述Session至存储缓存中,并根据用户Session和应用***标识生成授权Token,生成的Token通过网关返回至外部应用。以后外部应用只需带上这个Token来请求资源即可,无需再次带上用户名和密码。最后用户权限服务对授权申请的请求信息和结果记录至应用标识对应的存储中。后台服务不再存储Session,可有效降低在多应用***下用户Session带来的内存开销,避免Session多机存储产生的隐患;满足分布式微服务架构下对用户信息跨域跨服务的应用。
所述“所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息”后,具体还包括步骤:
若未发现所述应用***对应的配置信息,则直接返回错误提示。
所述“获取请求用户信息并验证用户合法性”后,具体还包括步骤:
若用户不合法,则直接返回错误提示。
步骤S604:所述授权Token由所述用户权限服务内置的Token私钥加密生成,对外公布Token公钥。具体可如下:所述授权Token按照JSON Web Token的标准方式通过内置Token私钥加密生成,该信息在有效期内可以被验证和信任。通过JWT方式生成用户Token可以降低应用服务在获取请求用户信息时对存储的检索次数。
如图8所示,获取到授权Token后,外部应用就可以通过授权Token,访问受保护的服务资源。进一步的,还包括步骤:
外部应用发送携带所述Token的请求至统一网关。在本实施方式中,要求前端应用将Token放在Authorization header中,并使用Bearer schema,发送携带Token的请求至统一网关。
所述统一网关使用Token公钥验证Token信息,Token验证合法后,向所述用户权限服务获取对应用户的授权信息。
所述用户权限服务再次验证Token,并根据Token中应用标识连接对应的存储库,从对应的存储库中检索用户授权信息,并返回检索结果至统一网关。
所述统一网关根据返回的用户授权列表,对请求资源做匹配,如果请求资源与授权列表相匹配,则根据服务路由规则将请求分配到对应运行的应用服务的服务器上;所述“对请求资源做匹配”后,具体还包括步骤:如果请求资源未匹配授权列表,则返回越权错误信息。
所述“所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述应用服务接收到请求信息后,验证服务令牌和Token是否合法,若所述服务令牌和所述Token合法,则使用Token公钥提取Token中的用户信息,根据用户信息和所请求的资源执行业务流程,并返回执行结果至统一网关;所述“则使用Token公钥提取Token中的用户信息”后,具体还包括步骤:若需要更多的用户信息,则同步向所述用户权限服务发送请求获取用户详情信息。
所述统一网关同步返回执行结果至外部应用。
进一步的,所述“所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述统一网关将本次应用标识、请求信息、执行结果封装成审计日志,异步提交所述审计日志至用户权限服务,所述用户权限服务验证服务令牌,若服务令牌验证通过,则根据所述审计日志的应用标识保存至对应的存储库中,并返回日志状态。
以上整个步骤过程中,多应用***通过微服务架构方式,统一不同应用***内部的资源认证、鉴权和日志审计,保证业务应用专注于本身的业务逻辑实现。
请参阅图9,在一实施方式中提供了一种计算机可读存储介质900,其上存储有计算机程序,所述程序被处理器执行时实现以上所述基于微服务的多应用***权限统一管理方法的任一步骤。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (10)

1.基于微服务的多应用***权限统一管理方法,其特征在于,包括步骤:
对不同应用的用户权限生成一个独立用户权限服务;
接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务;
所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌,和/或所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌。
2.根据权利要求1所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“接收外部请求,统一网关对所述外部请求的信息进行审核”前,还包括步骤:
网关服务、所述用户权限服务和各个应用服务向注册服务中心注册服务,并从所述注册服务中心同步所有注册到注册服务中心的服务实例;
所述网关服务和所述应用服务向所述用户权限服务申请服务令牌;
所述网关服务转发其它服务请求时,在所述服务请求的请求信息的请求头中携带所述服务令牌;或所述应用服务发出请求时,在所述请求的请求信息的请求头中携带所述服务令牌。
3.根据权利要求2所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“网关服务、所述用户权限服务和各个应用服务向注册服务中心注册服务,并从所述注册服务中心同步所有注册到注册服务中心的服务实例”,具体还包括步骤:
所述网关服务、所述用户权限服务、各个应用服务在启动时自动向注册服务中心注册服务;
所述网关服务、所述用户权限服务、各个应用服务在启动后实时从所述注册服务中心同步所有注册到注册服务中心的服务实例的地址列表至本地;
不同应用服务连接各自的应用存储,并将存储连接配置信息同步至所述用户权限服务中。
4.根据权利要求2所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“所述网关服务和所述应用服务向所述用户权限服务申请服务令牌”,具体还包括步骤:
所述网关服务发布网关服务公钥至所述用户权限服务,发布成功后加载网关服务私钥,并对注册的网关服务ID进行网关服务私钥加密生成网关服务ID密文;
所述应用服务发布应用服务公钥和应用存储连接的配置信息至所述用户权限服务,发布成功后加载应用服务私钥,并对注册的应用服务ID进行应用服务私钥加密生成应用服务ID密文;
所述网关服务向所述用户权限服务提交所述网关服务ID密文和网关注册信息,申请服务令牌;
所述应用服务向所述用户权限服务提交所述应用服务ID密文和应用注册信息,申请服务令牌;
所述用户权限服务校验所述网关注册信息是否合法并使用所述网关服务公钥验证所述网关服务ID密文,若所述网关注册信息合法且所述网关服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述网关服务;
所述用户权限服务校验所述应用注册信息是否合法并使用所述应用服务公钥验证所述应用服务ID密文,若所述应用注册信息合法且所述应用服务ID密文验证通过,则所述用户权限服务生成服务令牌并返回所述服务令牌至所述应用服务;
所述服务令牌由所述用户权限服务内置的用户权限服务令牌私钥生成;
对外公布用户权限服务令牌公钥。
5.根据权利要求1所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“接收外部请求,统一网关对所述外部请求的信息进行审核,分发审核通过的外部请求至对应的应用服务”,具体还包括步骤:
外部应用通过统一网关向所述用户权限服务发起授权申请;
所述统一网关响应外部请求,向所述用户权限服务发送授权申请的请求信息;
所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息,从加载的配置信息连接对应的存储库,获取请求用户信息并验证用户合法性,若用户合法,则创建合法用户的Session,并存放所述Session至存储缓存中,并根据用户Session和应用***标识生成授权Token,生成的Token通过网关返回至外部应用;
所述授权Token由所述用户权限服务内置的Token私钥加密生成,对外公布Token公钥。
6.根据权利要求5所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“所述用户权限服务根据所述授权申请的请求信息中的应用***标识加载配置信息”后,具体还包括步骤:
若未发现所述应用***对应的配置信息,则直接返回错误提示;
所述“获取请求用户信息并验证用户合法性”后,具体还包括步骤:
若用户不合法,则直接返回错误提示。
7.根据权利要求5所述的基于微服务的多应用***权限统一管理方法,其特征在于,还包括步骤:
外部应用发送携带所述Token的请求至统一网关;
所述统一网关使用Token公钥验证Token信息,Token验证合法后,向所述用户权限服务获取对应用户的授权信息;
所述用户权限服务再次验证Token,并根据Token中应用标识连接对应的存储库,从对应的存储库中检索用户授权信息,并返回检索结果至统一网关;
所述统一网关根据返回的用户授权列表,对请求资源做匹配,如果请求资源与授权列表相匹配,则根据服务路由规则将请求分配到对应运行的应用服务的服务器上;
所述“所述应用服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述应用服务接收到请求信息后,验证服务令牌和Token是否合法,若所述服务令牌和所述Token合法,则使用Token公钥提取Token中的用户信息,根据用户信息和所请求的资源执行业务流程,并返回执行结果至统一网关;
所述统一网关同步返回执行结果至外部应用。
8.根据权利要求7所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“对请求资源做匹配”后,具体还包括步骤:
如果请求资源未匹配授权列表,则返回越权错误信息;
所述“则使用Token公钥提取Token中的用户信息”后,具体还包括步骤:
若需要更多的用户信息,则同步向所述用户权限服务发送请求获取用户详情信息。
9.根据权利要求7所述的基于微服务的多应用***权限统一管理方法,其特征在于,所述“所述用户权限服务接收所述外部请求并验证所述外部请求携带的服务令牌”,具体还包括步骤:
所述统一网关将本次应用标识、请求信息、执行结果封装成审计日志,异步提交所述审计日志至用户权限服务,所述用户权限服务验证服务令牌,若服务令牌验证通过,则根据所述审计日志的应用标识保存至对应的存储库中,并返回日志状态。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述程序被处理器执行时实现如权利要求1至9任一项所述的步骤。
CN202110755655.XA 2021-07-05 2021-07-05 基于微服务的多应用***权限统一管理方法和存储介质 Active CN113472794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110755655.XA CN113472794B (zh) 2021-07-05 2021-07-05 基于微服务的多应用***权限统一管理方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110755655.XA CN113472794B (zh) 2021-07-05 2021-07-05 基于微服务的多应用***权限统一管理方法和存储介质

Publications (2)

Publication Number Publication Date
CN113472794A true CN113472794A (zh) 2021-10-01
CN113472794B CN113472794B (zh) 2023-08-15

Family

ID=77877974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110755655.XA Active CN113472794B (zh) 2021-07-05 2021-07-05 基于微服务的多应用***权限统一管理方法和存储介质

Country Status (1)

Country Link
CN (1) CN113472794B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992381A (zh) * 2021-10-22 2022-01-28 北京天融信网络安全技术有限公司 授权方法、装置、授权平台及存储介质
CN114666387A (zh) * 2022-03-25 2022-06-24 广州方硅信息技术有限公司 接口管理***、方法、存储介质及计算机设备
CN115242486A (zh) * 2022-07-19 2022-10-25 阿里巴巴(中国)有限公司 数据处理方法、装置及计算机可读存储介质
CN115549966A (zh) * 2022-08-25 2022-12-30 支付宝(杭州)信息技术有限公司 业务请求的安全审计方法和装置

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924125A (zh) * 2018-06-29 2018-11-30 招银云创(深圳)信息技术有限公司 接口调用权限的控制方法、装置、计算机设备和存储介质
CN109327477A (zh) * 2018-12-06 2019-02-12 泰康保险集团股份有限公司 认证鉴权方法、装置及存储介质
CN110138741A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 基于统一管理平台的微服务管理方法、装置和计算机设备
CN110149211A (zh) * 2019-05-15 2019-08-20 杭州朗和科技有限公司 服务鉴权方法、服务鉴权装置、介质以及电子设备
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN110445636A (zh) * 2019-07-03 2019-11-12 平安科技(深圳)有限公司 基于管理平台的微服务预警方法、装置和计算机设备
CN110554927A (zh) * 2019-09-12 2019-12-10 北京笔新互联网科技有限公司 基于区块链的微服务调用方法
CN110781505A (zh) * 2019-10-11 2020-02-11 南京医基云医疗数据研究院有限公司 ***构建方法及装置、检索方法及装置、介质和设备
CN111030828A (zh) * 2019-12-19 2020-04-17 中国电建集团华东勘测设计研究院有限公司 微服务架构下的权限控制方法、***和访问令牌
CN111130892A (zh) * 2019-12-27 2020-05-08 上海浦东发展银行股份有限公司 一种企业级微服务的管理***及方法
CN111181991A (zh) * 2020-01-03 2020-05-19 苏州融卡智能科技有限公司 物联网终端接入平台的构建方法与装置
WO2020134838A1 (zh) * 2018-12-29 2020-07-02 深圳云天励飞技术有限公司 权限验证方法及相关装置
CN111786998A (zh) * 2020-06-30 2020-10-16 成都新潮传媒集团有限公司 基于微服务调用的权限管理方法、装置及存储介质
CN112035867A (zh) * 2020-11-06 2020-12-04 成都掌控者网络科技有限公司 一种Web应用权限管理方法、***、设备及存储介质
CN112149079A (zh) * 2020-10-22 2020-12-29 国网冀北电力有限公司经济技术研究院 基于微服务架构的规划评审管理平台及用户访问授权方法
CN112350978A (zh) * 2019-08-08 2021-02-09 中移(苏州)软件技术有限公司 一种业务处理方法、***、设备及存储介质
CN112564916A (zh) * 2020-12-01 2021-03-26 上海艾融软件股份有限公司 应用于微服务架构的访问客户端认证***
CN112559010A (zh) * 2020-12-22 2021-03-26 福州数据技术研究院有限公司 一种基于微服务的多应用***数据隔离实现方法和***
CN112637192A (zh) * 2020-12-17 2021-04-09 航天精一(广东)信息科技有限公司 一种对微服务进行访问的授权方法及***
CN113055367A (zh) * 2021-03-08 2021-06-29 浪潮云信息技术股份公司 一种微服务网关鉴权的实现方法及***

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN108924125A (zh) * 2018-06-29 2018-11-30 招银云创(深圳)信息技术有限公司 接口调用权限的控制方法、装置、计算机设备和存储介质
CN109327477A (zh) * 2018-12-06 2019-02-12 泰康保险集团股份有限公司 认证鉴权方法、装置及存储介质
WO2020134838A1 (zh) * 2018-12-29 2020-07-02 深圳云天励飞技术有限公司 权限验证方法及相关装置
CN110138741A (zh) * 2019-04-15 2019-08-16 平安科技(深圳)有限公司 基于统一管理平台的微服务管理方法、装置和计算机设备
CN110149211A (zh) * 2019-05-15 2019-08-20 杭州朗和科技有限公司 服务鉴权方法、服务鉴权装置、介质以及电子设备
WO2021000416A1 (zh) * 2019-07-03 2021-01-07 平安科技(深圳)有限公司 基于管理平台的微服务预警方法、装置和计算机设备
CN110445636A (zh) * 2019-07-03 2019-11-12 平安科技(深圳)有限公司 基于管理平台的微服务预警方法、装置和计算机设备
CN112350978A (zh) * 2019-08-08 2021-02-09 中移(苏州)软件技术有限公司 一种业务处理方法、***、设备及存储介质
CN110554927A (zh) * 2019-09-12 2019-12-10 北京笔新互联网科技有限公司 基于区块链的微服务调用方法
CN110781505A (zh) * 2019-10-11 2020-02-11 南京医基云医疗数据研究院有限公司 ***构建方法及装置、检索方法及装置、介质和设备
CN111030828A (zh) * 2019-12-19 2020-04-17 中国电建集团华东勘测设计研究院有限公司 微服务架构下的权限控制方法、***和访问令牌
CN111130892A (zh) * 2019-12-27 2020-05-08 上海浦东发展银行股份有限公司 一种企业级微服务的管理***及方法
CN111181991A (zh) * 2020-01-03 2020-05-19 苏州融卡智能科技有限公司 物联网终端接入平台的构建方法与装置
CN111786998A (zh) * 2020-06-30 2020-10-16 成都新潮传媒集团有限公司 基于微服务调用的权限管理方法、装置及存储介质
CN112149079A (zh) * 2020-10-22 2020-12-29 国网冀北电力有限公司经济技术研究院 基于微服务架构的规划评审管理平台及用户访问授权方法
CN112035867A (zh) * 2020-11-06 2020-12-04 成都掌控者网络科技有限公司 一种Web应用权限管理方法、***、设备及存储介质
CN112564916A (zh) * 2020-12-01 2021-03-26 上海艾融软件股份有限公司 应用于微服务架构的访问客户端认证***
CN112637192A (zh) * 2020-12-17 2021-04-09 航天精一(广东)信息科技有限公司 一种对微服务进行访问的授权方法及***
CN112559010A (zh) * 2020-12-22 2021-03-26 福州数据技术研究院有限公司 一种基于微服务的多应用***数据隔离实现方法和***
CN113055367A (zh) * 2021-03-08 2021-06-29 浪潮云信息技术股份公司 一种微服务网关鉴权的实现方法及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992381A (zh) * 2021-10-22 2022-01-28 北京天融信网络安全技术有限公司 授权方法、装置、授权平台及存储介质
CN114666387A (zh) * 2022-03-25 2022-06-24 广州方硅信息技术有限公司 接口管理***、方法、存储介质及计算机设备
CN115242486A (zh) * 2022-07-19 2022-10-25 阿里巴巴(中国)有限公司 数据处理方法、装置及计算机可读存储介质
CN115242486B (zh) * 2022-07-19 2024-04-19 阿里巴巴(中国)有限公司 数据处理方法、装置及计算机可读存储介质
CN115549966A (zh) * 2022-08-25 2022-12-30 支付宝(杭州)信息技术有限公司 业务请求的安全审计方法和装置

Also Published As

Publication number Publication date
CN113472794B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN109981561B (zh) 单体架构***迁移到微服务架构的用户认证方法
CN108650262B (zh) 一种基于微服务架构的云平台扩展方法及***
JP5458888B2 (ja) 証明書生成配布システム、証明書生成配布方法およびプログラム
CN113472794A (zh) 基于微服务的多应用***权限统一管理方法和计算机可读存储介质
US10263855B2 (en) Authenticating connections and program identity in a messaging system
JP2023134679A (ja) ブロックチェーンクラウドサービスのためのインターフェイスを提供するためのシステムおよび方法
US11394703B2 (en) Methods for facilitating federated single sign-on (SSO) for internal web applications and devices thereof
US7860883B2 (en) Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments
US8042162B2 (en) Method and system for native authentication protocols in a heterogeneous federated environment
CN112788031B (zh) 基于Envoy架构的微服务接口认证***、方法及装置
US20080010287A1 (en) Method and system for distributed retrieval of data objects using tagged artifacts within federated protocol operations
US9077719B2 (en) Method and system for automatic distribution and installation of a client certificate in a secure manner
CN102638454A (zh) 一种面向http身份鉴别协议的插件式单点登录集成方法
JP2017004301A (ja) 認証サーバーシステム、方法、プログラムおよび記憶媒体
US9100277B2 (en) Client credentials data structure and method of employing the same
US20210157896A1 (en) Method and system for facilitating an identification of an application
US20200412713A1 (en) Authentication and authorization integration system in heterogeneous cloud platform
CN108040072B (zh) 分布式网络下移动互联网app单点登录的***和方法
JP6185934B2 (ja) サーバー・アプリケーションと多数の認証プロバイダーとの統合
US9225713B2 (en) System, control method, and storage medium
US20200053059A1 (en) Secure Method to Replicate On-Premise Secrets in a Cloud Environment
JP6840505B2 (ja) システム、サービス提供装置、システムの制御方法およびプログラム
CN111817860B (zh) 一种通信认证方法、装置、设备及存储介质
WO2011032427A1 (zh) 互联网协议电视iptv用户登录方法及***和iptv能力平台
CN106790026B (zh) 一种基于Hadoop的多租户网盘鉴权方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant