本发明涉及权限验证技术领域,具体的说是一种实现统一鉴权的工具及方法。
背景技术:
信息时代业务系统越来越复杂,一个大型系统往往由多个子系统构成,为便于用户使用,多业务系统采用统一的用户,传统的做法是建设一个统一认证中心,由认证中心进行认证,各业务系统和门户做单点登录。这一过程中,session管理、鉴权、审计、限流熔断由各业务系统各自完成相应功能开发。其中:
session各自管理造成了内存重复浪费,减少了系统承载能力,但是,各自管理鉴权造成了功能重发开发,权限管理分散,容易配置错误造成系统不安全;
审计功能作为非常重要的系统安全措施,对于后期问题排查起到至关重要的作用,但是,业务各自记录时,可能造成信息不规范且不全面;
很多业务系统不具备熔断限流的功能,在突发大流量时,业务系统很容易崩溃宕机,造成不好的影响。
技术实现要素:
本发明针对各业务系统和门户做单点登录过程中,session管理、鉴权、审计、限流熔断由各业务系统各自完成相应功能开发时存在的缺陷,提供一种实现统一鉴权的工具及方法。
首先,本发明提供一种实现统一鉴权的工具,解决上述技术问题采用的技术方案如下:
一种实现统一鉴权的工具,其实现框架包括:
用户端,用于对用户进行展示,还用于向业务系统发送请求;
业务逻辑模块,从属于业务系统,用于实际处理用户端请求的具体业务,并在处理完成后向用户端返回结果;
网关,部署于用户端和业务系统之间,具有session管理、鉴权、审计、服务路由、限流熔断、csrf的功能,用于接收用户端的请求,并进行统一鉴权和安全校验,还用于根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块;
网关管理,用于对网关的功能进行参数配置,还用于配置业务逻辑模块和请求uri匹配规则;
认证中心,负责进行用户合法性校验,并在校验成功后生成合法会话,随后与网关共享所述合法会话,来标识登录用户信息。
具体的,所涉及网关的session管理功能负责统一管理会话,并提供登录校验;且session管理过程中,对于没有登录的请求,导向到认证中心去认证并获取登录信息;
网关的鉴权功能是指鉴别当前请求用户是否有权限使用某个功能,并使用uri来作为功能标识符,权限配置则由网关管理来管理;
网关的限流熔断功能是指对于服务达到或超过设定请求数阈值时,限制新请求并给与错误提示,请求阈值根据应用和uri由网关管理进行设置;
网关的csrf功能即跨站请求,是指非本站的用户端发起的请求,网关对于这类请求给与拦截,并根据请求信息中携带算法生成的唯一标识进行校验;
网关的审计功能用于组织审计日志内容,并通过消息队列将日志发送到业务系统的审计分析模块进行持久化和分析。
其次,本发明提供一种实现统一鉴权的方法,解决上述技术问题采用的技术方案如下:
一种实现统一鉴权的方法,在用户端和业务系统之间增设一层网关,用户端的请求经过网关,网关统一处理session管理、鉴权、审计、服务路由、限流熔断、csrf,且服务路由根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块,由业务逻辑模块完成实际业务操作后向用户端返回结果。
实现统一鉴权的具体架构包括:
用户端,可以是浏览器或app,用于对用户进行展示,还用于向业务系统发送请求;
业务逻辑模块,从属于业务系统,用于实际处理用户端请求的具体业务,并在处理完成后向用户端返回结果;
网关,部署于用户端和业务系统之间,具有session管理、鉴权、审计、服务路由、限流熔断、csrf的功能,用于接收用户端的请求,并进行统一鉴权和安全校验,还用于根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块;
网关管理,用于对网关的功能进行参数配置,还用于配置业务逻辑模块和请求uri匹配规则;
认证中心,负责进行用户合法性校验,并在校验成功后生成合法会话,随后与网关共享所述合法会话,来标识登录用户信息。
可选的,所涉及session管理负责统一管理会话,并提供登录校验;
session管理过程中,对于没有登录的请求,导向到认证中心去认证并获取登录信息。
可选的,所涉及鉴权是指鉴别当前请求用户是否有权限使用某个功能,并使用uri来作为功能标识符,权限配置则由网关管理来管理。
可选的,所涉及限流熔断是指对于服务达到或超过设定请求数阈值时,限制新请求并给与错误提示,请求阈值根据应用和uri由网关管理进行设置。
可选的,所涉及csrf即跨站请求,是指非本站的用户端发起的请求,网关对于这类请求给与拦截,并根据请求信息中携带算法生成的唯一标识进行校验。
可选的,所涉及网关的审计功能用于组织审计日志内容,并通过消息队列将日志发送到业务系统的审计分析模块进行持久化和分析。
本发明的一种实现统一鉴权的工具及方法,与现有技术相比具有的有益效果是:
(1)本发明在用户端和业务系统之间部署了网关,通过网关的session管理、鉴权、审计、服务路由、限流熔断、csrf的功能,完成用户请求的接收、统一鉴权和安全校验,并根据请求资源uri将用户端请求转发至业务系统,再由业务系统的业务逻辑模块实际处理用户端请求的具体业务,并在处理完成后向用户端返回结果,以提高业务系统稳定性、高并发、可扩展性;
(2)本发明可以解决应用集成和大型应用微服务化统一鉴权的问题,简化业务应用开发。
附图说明
附图1是本发明的实现架构图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合附图1,本实施例提出一种实现统一鉴权的工具,其实现框架包括:
用户端,用于对用户进行展示,还用于向业务系统发送请求;
业务逻辑模块,从属于业务系统,用于实际处理用户端请求的具体业务,并在处理完成后向用户端返回结果;
网关,部署于用户端和业务系统之间,具有session管理、鉴权、审计、服务路由、限流熔断、csrf的功能,用于接收用户端的请求,并进行统一鉴权和安全校验,还用于根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块;
网关管理,用于对网关的功能进行参数配置,还用于配置业务逻辑模块和请求uri匹配规则;
认证中心,负责进行用户合法性校验,并在校验成功后生成合法会话,随后与网关共享所述合法会话,来标识登录用户信息。
本实施例中,网关的session管理功能负责统一管理会话,并提供登录校验;且session管理过程中,对于没有登录的请求,导向到认证中心去认证并获取登录信息。
本实施例中,网关的鉴权功能是指鉴别当前请求用户是否有权限使用某个功能,并使用uri来作为功能标识符,权限配置则由网关管理来管理。
本实施例中,网关的限流熔断功能是指对于服务达到或超过设定请求数阈值时,限制新请求并给与错误提示,请求阈值根据应用和uri由网关管理进行设置。
本实施例中,网关的csrf功能即跨站请求,是指非本站的用户端发起的请求,网关对于这类请求给与拦截,并根据请求信息中携带算法生成的唯一标识进行校验;
本实施例中,网关的审计功能用于组织审计日志内容,并通过消息队列将日志发送到业务系统的审计分析模块进行持久化和分析。
实施例二:
结合附图1,本实施例提出一种实现统一鉴权的方法,在用户端和业务系统之间增设一层网关,用户端的请求经过网关,网关统一处理session管理、鉴权、审计、服务路由、限流熔断、csrf,且服务路由根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块,由业务逻辑模块完成实际业务操作后向用户端返回结果。
基于本实施例的具体实现过程,其架构基于用户端、业务逻辑模块、网关、网关管理、认证中心。
用户端可以是浏览器或app,用于对用户进行展示,还用于向业务系统发送请求。
业务逻辑模块从属于业务系统,用于实际处理用户端请求的具体业务,并在处理完成后向用户端返回结果。
网关部署于用户端和业务系统之间,具有session管理、鉴权、审计、服务路由、限流熔断、csrf的功能,用于接收用户端的请求,并进行统一鉴权和安全校验,还用于根据请求资源uri将用户端请求转发至业务系统的业务逻辑模块。其中,session管理负责统一管理会话,并提供登录校验,session管理过程中,对于没有登录的请求,导向到认证中心去认证并获取登录信息;鉴权是指鉴别当前请求用户是否有权限使用某个功能,并使用uri来作为功能标识符,权限配置则由网关管理来管理;限流熔断是指对于服务达到或超过设定请求数阈值时,限制新请求并给与错误提示,请求阈值根据应用和uri由网关管理进行设置;csrf即跨站请求,是指非本站的用户端发起的请求,网关对于这类请求给与拦截,并根据请求信息中携带算法生成的唯一标识进行校验;网关的审计功能用于组织审计日志内容,并通过消息队列将日志发送到业务系统的审计分析模块进行持久化和分析。
网关管理对网关的功能进行参数配置,还用于配置业务逻辑模块和请求uri匹配规则。
认证中心负责进行用户合法性校验,并在校验成功后生成合法会话,随后与网关共享所述合法会话,来标识登录用户信息。
综上可知,采用本发明的一种实现统一鉴权的工具及方法,可以提高业务系统稳定性、高并发、可扩展性,解决解决应用集成和大型应用微服务化统一鉴权的问题。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。