CN109446769A - 统计身份认证及日志处理微服务系统及其实现方法 - Google Patents

统计身份认证及日志处理微服务系统及其实现方法 Download PDF

Info

Publication number
CN109446769A
CN109446769A CN201811214241.0A CN201811214241A CN109446769A CN 109446769 A CN109446769 A CN 109446769A CN 201811214241 A CN201811214241 A CN 201811214241A CN 109446769 A CN109446769 A CN 109446769A
Authority
CN
China
Prior art keywords
filter
authentication
request
zuul
filtering
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.)
Pending
Application number
CN201811214241.0A
Other languages
English (en)
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201811214241.0A priority Critical patent/CN109446769A/zh
Publication of CN109446769A publication Critical patent/CN109446769A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Abstract

本发明涉及一种统计身份认证及日志处理微服务系统及其实现方法,涉及网络安全技术领域。本发明基于springcloud的zuul网关,以及jwt的静态认证来实现用户登录的身份认证,基于springboot的webfilter注解来实现系统日志的拦截处理,设计了一种应用于http restful的请求方式以及对日志需要比较详细的记录的应用系统及其实现方法,本发明利用springcloud微服务很容易地实现了系统的组件化,既提高了系统的性能又便于维护,身份认证和日志记录这两个服务都应用到了jwt的认证和解析,而且zuul网关本就是对所有路径的一个拦截处理过程,因此不需要再这两个模块再分别细分成两个微服务组件,因此真正地实现了代码的高内聚低耦合要求。

Description

统计身份认证及日志处理微服务系统及其实现方法
技术领域
本发明涉及网络安全技术领域,具体涉及一种统计身份认证及日志处理微服务系统及其实现方法。
背景技术
随着互联网应用的普及,在大数据、高并发的环境下,系统架构需要面对极为严苛的挑战,必须至少要满足高性能、独立性、容易扩展、便于管理、状态监控与告警这几个方面,由此微服务架构便应运而生。
传统的单体应用将所有业务功能全部聚合在一个项目中,如图1所示。这样的单体应用隐患非常的多,任何一个bug都有可能导致整个系统宕机,维护这样的一个系统,不仅效率极低,而且充满风险。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种能够满足代码的高内聚低耦合要求的统计身份认证及日志处理微服务系统及其实现方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种统计身份认证及日志处理微服务系统,包括身份认证模块;所述身份认证模块用于自定义过滤器并继承Zuul过滤器,并利用四种方法重写Zuul过滤器,所述四种方法分别是设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作。
优选地,所述系统还包括日志管理模块,所述日志管理模块用于在身份认证模块重写Zuul过滤器之后,实现过滤器,对相应操作进行拦截,并将拦截的日志记录到数据库中。
本发明还提供了一种所述的系统的实现方法,包括以下步骤:
所述身份认证模块的具体实现步骤如下:
步骤1、自定义过滤器并继承Zuul过滤器;
步骤2、利用四种方法重写Zuul过滤器:设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作,进行身份认证的具体操作时,封装不符合身份认证的请求的信息,并返回。
优选地,步骤2中,配置过滤优先级为0,为最高优先级,过滤方式为“pre”,在http的pre阶段进行过滤。
优选地,步骤2中,还配置过滤的路径,当请求路径为本地路径或者为获取令牌接口时不进行过滤,对于其他所有路径都进行过滤。
优选地,步骤2中,还进行身份认证的具体操作:获取当前请求的请求头中的令牌,通过jwt根据后端配置文件中的密钥进行解析,如果解析失败,则封装统一的json返回结果;如果验证成功,说明令牌有效,对获取到的令牌进行解析,解析当前身份信息对应的资源(权限),遍历当前身份信息的资源,如果没有一条与需要请求的资源信息匹配,则封装统一的json返回结果,否则认证通过。
优选地,步骤2中,如果请求的路径是获取令牌接口,则zuul网关不进行过滤,而是将请求发送到相应的接口,该接口通过jwt根据该用户的角色、账号、资源使用HS512签名生成新的令牌,并添加令牌的过期时间,返回给客户端。
优选地,所述日志管理模块的具体实现步骤如下:
步骤1’、实现过滤器:对所有的请求路径进行拦截处理;
步骤2’、对相应操作进行拦截:对新增、修改、删除操作进行拦截处理,记录请求和响应内容;
步骤3’、将拦截的日志记录到数据库中。
优选地,步骤1’中,实现spring的过滤器,初始化拦截器配置,增加WebFi lter注解过滤所有路径,设置优先级为最高。
优选地,步骤2’中,重写过滤器的过滤方法,首先通过请求头获取当前请求的用户账户,因为调用为rest风格,当用户账户存在并且请求为新增、修改、删除操作时,拦截当前请求的来源和去向,从中获取请求信息以及响应信息。
(三)有益效果
本发明基于springcloud的zuul网关,以及jwt的静态认证来实现用户登录的身份认证,基于springboot的webfi lter注解来实现系统日志的拦截处理,设计了一种应用于http restful的请求方式以及对日志需要比较详细的记录的应用系统及其实现方法,本发明利用springcloud微服务很容易地实现了系统的组件化,既提高了系统的性能又便于维护,身份认证和日志记录这两个服务都应用到了jwt的认证和解析,而且zuul网关本就是对所有路径的一个拦截处理过程,因此不需要再这两个模块再分别细分成两个微服务组件,因此真正地实现了代码的高内聚低耦合要求。
附图说明
图1为现有的单体应用架构示意图;
图2为本发明加入Zuul后的微服务集群架构示意图;
图3为本发明的身份认证模块的Zuul身份认证流程图;
图4为本发明的日志管理模块的日志过滤流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明设计的一种统计身份认证及日志处理微服务系统,采用了微服务架构,如下图2所示,图2为微服务架构中的其中一个组件,相较单体应用,微服务将之前全部耦合在一起的各个业务模块进行模块化,使每一个业务模块都成为单独的组件,即提升了应用程序的性能又便于管理,而且独立化的模块一旦出现bug或其他问题,不会影响其他的模块或者整个应用。
身份认证和日志管理是每个安全审计、态势系统必不可少的模块,而且当用户量达到一定程度时,对这两个模块的调用都会非常的频繁,因此将这两个模块独立出来是非常有必要的,一方面可以减少主应用程序的压力,另一方面也能对这两个模块进行很好的管理扩容。因此,本发明的统计身份认证及日志处理微服务系统包括身份认证模块和日志管理模块。
该身份认证模块用于自定义过滤器并继承Zuul过滤器,利用四种方法重写Zuul过滤器,所述四种方法分别是设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作。
具体实现步骤如下:
步骤1、自定义过滤器并继承Zuul过滤器,本步骤是核心步骤,继承该类之后就能对所有需要身份认证的资源进行过滤。
步骤2、利用四种方法重写Zuul过滤器:设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作,进行身份认证的具体操作时,封装不符合身份认证的请求的信息,并返回。
相应的流程图如图3所示。
步骤2中,配置过滤优先级为0,为最高优先级,过滤方式为“pre”,在http的pre阶段进行过滤;
步骤2中,还配置过滤的路径,当请求路径为本地路径或者为获取令牌接口时不进行过滤,对于其他所有路径都进行过滤,代码片段如下所示。
步骤2中,还进行身份认证的具体操作:获取当前请求的请求头中的令牌,通过jwt根据后端配置文件中的密钥进行解析,如果解析失败,则封装统一的json返回结果;如果验证成功,说明令牌有效,对获取到的令牌进行解析,解析当前身份信息对应的资源(权限),遍历当前身份信息的资源,如果没有一条与需要请求的资源信息匹配,则封装统一的json返回结果,否则认证通过。代码片段如下:
以上为身份验证的具体操作流程,如果请求的路径是获取令牌接口,则zuul网关不进行过滤,而是会将请求发送到相应的接口,该接口通过jwt根据该用户的角色、账号、资源使用HS512签名生成新的令牌,并添加令牌的过期时间,返回给客户端。
该日志管理模块用于实现过滤器,对相应操作进行拦截,并将拦截的日志记录到数据库中;
具体实现步骤如下:
步骤1’、实现过滤器:对所有的请求路径进行拦截处理。
步骤2’、对相应操作进行拦截:对新增、修改、删除操作进行拦截处理,记录请求和响应内容。
步骤3’、将拦截的日志记录到数据库中。
相应的流程如图4所示。
步骤1’中,实现spring的过滤器,初始化拦截器配置。增加WebFi lter注解过滤所有路径,设置优先级为最高。
步骤2’中,重写过滤器的过滤方法,首先通过请求头获取当前请求的用户账户,因为调用为rest风格,当用户账户存在并且请求为POST(新增)、PUT(修改)、DELETE(删除)操作时,拦截当前请求的来源(request)和去向(response),从中获取请求信息以及响应信息。在此说明:没有记录GET(查询)操作,因为查询不涉及到数据库数据的变动,而且一般查询的响应体比较大,所以没有记录。相应的代码片段如下所示。
步骤3’中,通过spring data jpa将拦截得到的相应信息存入到数据库中,并在本地记录日志备份。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种统计身份认证及日志处理微服务系统,其特征在于,包括身份认证模块;所述身份认证模块用于自定义过滤器并继承Zuul过滤器,并利用四种方法重写Zuul过滤器,所述四种方法分别是设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作。
2.如权利要求1所述的系统,其特征在于,所述系统还包括日志管理模块,所述日志管理模块用于在身份认证模块重写Zuul过滤器之后,实现过滤器,对相应操作进行拦截,并将拦截的日志记录到数据库中。
3.一种如权利要求2所述的系统的实现方法,其特征在于,包括以下步骤:
所述身份认证模块的具体实现步骤如下:
步骤1、自定义过滤器并继承Zuul过滤器;
步骤2、利用四种方法重写Zuul过滤器:设置过滤方式、过滤顺序,过滤的路径以及进行身份认证的具体操作,进行身份认证的具体操作时,封装不符合身份认证的请求的信息,并返回。
4.如权利要求3所述的方法,其特征在于,步骤2中,配置过滤优先级为0,为最高优先级,过滤方式为“pre”,在http的pre阶段进行过滤。
5.如权利要求3所述的方法,其特征在于,步骤2中,还配置过滤的路径,当请求路径为本地路径或者为获取令牌接口时不进行过滤,对于其他所有路径都进行过滤。
6.如权利要求5所述的方法,其特征在于,步骤2中,还进行身份认证的具体操作:获取当前请求的请求头中的令牌,通过jwt根据后端配置文件中的密钥进行解析,如果解析失败,则封装统一的json返回结果;如果验证成功,说明令牌有效,对获取到的令牌进行解析,解析当前身份信息对应的资源(权限),遍历当前身份信息的资源,如果没有一条与需要请求的资源信息匹配,则封装统一的json返回结果,否则认证通过。
7.如权利要求6所述的方法,其特征在于,步骤2中,如果请求的路径是获取令牌接口,则zuul网关不进行过滤,而是将请求发送到相应的接口,该接口通过jwt根据该用户的角色、账号、资源使用HS512签名生成新的令牌,并添加令牌的过期时间,返回给客户端。
8.如权利要求3所述的方法,其特征在于,所述日志管理模块的具体实现步骤如下:
步骤1’、实现过滤器:对所有的请求路径进行拦截处理;
步骤2’、对相应操作进行拦截:对新增、修改、删除操作进行拦截处理,记录请求和响应内容;
步骤3’、将拦截的日志记录到数据库中。
9.如权利要求8所述的方法,其特征在于,步骤1’中,实现spring的过滤器,初始化拦截器配置,增加WebFi lter注解过滤所有路径,设置优先级为最高。
10.如权利要求8所述的方法,其特征在于,步骤2’中,重写过滤器的过滤方法,首先通过请求头获取当前请求的用户账户,因为调用为rest风格,当用户账户存在并且请求为新增、修改、删除操作时,拦截当前请求的来源和去向,从中获取请求信息以及响应信息。
CN201811214241.0A 2018-10-18 2018-10-18 统计身份认证及日志处理微服务系统及其实现方法 Pending CN109446769A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811214241.0A CN109446769A (zh) 2018-10-18 2018-10-18 统计身份认证及日志处理微服务系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811214241.0A CN109446769A (zh) 2018-10-18 2018-10-18 统计身份认证及日志处理微服务系统及其实现方法

Publications (1)

Publication Number Publication Date
CN109446769A true CN109446769A (zh) 2019-03-08

Family

ID=65546596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811214241.0A Pending CN109446769A (zh) 2018-10-18 2018-10-18 统计身份认证及日志处理微服务系统及其实现方法

Country Status (1)

Country Link
CN (1) CN109446769A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958119A (zh) * 2019-10-25 2020-04-03 泰康保险集团股份有限公司 身份验证方法和装置
CN111198804A (zh) * 2019-12-30 2020-05-26 中电工业互联网有限公司 基于网关的工业互联网平台第三方微服务监控预警方法
CN111405036A (zh) * 2020-03-13 2020-07-10 北京奇艺世纪科技有限公司 服务访问方法、装置、相关设备及计算机可读存储介质
WO2020252897A1 (zh) * 2019-06-18 2020-12-24 平安科技(深圳)有限公司 全链路数据鉴权方法、装置、设备及存储介质
CN113326598A (zh) * 2021-06-30 2021-08-31 北京计算机技术及应用研究所 一种物联网靶场设计方法
CN114301893A (zh) * 2021-12-30 2022-04-08 胜斗士(上海)科技技术发展有限公司 日志管理方法、系统和可读存储介质
CN114374620A (zh) * 2022-02-14 2022-04-19 浪潮软件股份有限公司 一种基于非阻塞可动态配置的应用中间层网关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861859A (zh) * 2017-11-22 2018-03-30 北京汇通金财信息科技有限公司 一种基于微服务架构的日志管理方法及系统
CN108234653A (zh) * 2018-01-03 2018-06-29 马上消费金融股份有限公司 一种处理业务请求的方法及装置
US20180203795A1 (en) * 2017-01-18 2018-07-19 Pivotal Software, Inc. Trace management
CN108388519A (zh) * 2018-03-19 2018-08-10 车智互联(北京)科技有限公司 基于SpringBoot服务的Mock测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180203795A1 (en) * 2017-01-18 2018-07-19 Pivotal Software, Inc. Trace management
CN107861859A (zh) * 2017-11-22 2018-03-30 北京汇通金财信息科技有限公司 一种基于微服务架构的日志管理方法及系统
CN108234653A (zh) * 2018-01-03 2018-06-29 马上消费金融股份有限公司 一种处理业务请求的方法及装置
CN108388519A (zh) * 2018-03-19 2018-08-10 车智互联(北京)科技有限公司 基于SpringBoot服务的Mock测试方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DUANXZ: "服务网关zuul之二:过滤器—请求过滤执行过程(源码分析)", 《HTTPS://WWW.CNBLOGS.COM/DUANXZ/P/7542150.HTML》 *
MYTT_10566: "Servlet3.0下@WebFilter注解配置Filter", 《HTTPS://BLOG.CSDN.NET/MYTT_10566/ARTICLE/DETAILS/70214640?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMMACHINELEARNPAI2-2.CONTROL&DEPTH_1-UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMMACHINELEARNPAI2-2.CONTROL》 *
方志朋: "深入理解Zuul之源码解析", 《HTTPS://BLOG.CSDN.NET/FOREZP/ARTICLE/DETAILS/76211680》 *
清风2556: "基于JWT的Token认证机制实现", 《HTTPS://BLOG.CSDN.NET/WUHENZHANGXING/ARTICLE/DETAILS/79973596?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BAIDUJS_BAIDULANDINGWORD-18&SPM=1001.2101.3001.4242》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020252897A1 (zh) * 2019-06-18 2020-12-24 平安科技(深圳)有限公司 全链路数据鉴权方法、装置、设备及存储介质
CN110958119A (zh) * 2019-10-25 2020-04-03 泰康保险集团股份有限公司 身份验证方法和装置
CN111198804A (zh) * 2019-12-30 2020-05-26 中电工业互联网有限公司 基于网关的工业互联网平台第三方微服务监控预警方法
CN111198804B (zh) * 2019-12-30 2023-09-05 中电工业互联网有限公司 基于网关的工业互联网平台第三方微服务监控预警方法
CN111405036A (zh) * 2020-03-13 2020-07-10 北京奇艺世纪科技有限公司 服务访问方法、装置、相关设备及计算机可读存储介质
CN113326598A (zh) * 2021-06-30 2021-08-31 北京计算机技术及应用研究所 一种物联网靶场设计方法
CN114301893A (zh) * 2021-12-30 2022-04-08 胜斗士(上海)科技技术发展有限公司 日志管理方法、系统和可读存储介质
CN114301893B (zh) * 2021-12-30 2023-11-07 胜斗士(上海)科技技术发展有限公司 日志管理方法、系统和可读存储介质
CN114374620A (zh) * 2022-02-14 2022-04-19 浪潮软件股份有限公司 一种基于非阻塞可动态配置的应用中间层网关装置

Similar Documents

Publication Publication Date Title
CN109446769A (zh) 统计身份认证及日志处理微服务系统及其实现方法
US10783270B2 (en) Methods and systems for securing and retrieving sensitive data using indexable databases
CN109831327B (zh) 基于大数据分析的ims全业务网络监视智能化运维支撑系统
US20200012785A1 (en) Self-adaptive application programming interface level security monitoring
US10706127B2 (en) Single click delta analysis
US9003023B2 (en) Systems and methods for interactive analytics of internet traffic
US9262519B1 (en) Log data analysis
AU2008256623B2 (en) Distributed system for monitoring information events
AU2005246430B2 (en) Service oriented architecture
US20070300306A1 (en) Method and system for providing granular data access control for server-client applications
US20080275843A1 (en) Identifying an application user as a source of database activity
WO2009042717A1 (en) Data paging with a stateless service
CN107124281A (zh) 一种数据保全方法和相关系统
CN107169364A (zh) 一种数据保全方法及相关系统
CN101426008B (zh) 一种基于回显的审计方法及系统
DE112022000856T5 (de) Vereinheitlichte richtliniendurchsetzungsverwaltung in der cloud
CN110266722A (zh) 一种多途径访问服务器的方法及系统
CN110377324A (zh) 一种信息化平台监控系统和构建方法
CN107426017A (zh) 一种通过采集交换机网络流量进行数据分析的方法
CN108833451A (zh) 基于国产安全管控平台的多级管控系统及管控方法
US11379416B1 (en) Systems and methods for common data ingestion
CN107864126A (zh) 一种云平台虚拟网络行为检测方法
CN107294988A (zh) 一种基于银行身份信息和eID的身份验证方法及其系统
DE112022000885T5 (de) Dynamische hauptbenutzer-identifizierung und -isolierung zur verwaltung von sla-garantien
CN108933678A (zh) 运维审计系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308