CN109446769A - 统计身份认证及日志处理微服务***及其实现方法 - Google Patents
统计身份认证及日志处理微服务***及其实现方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
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风格,当用户账户存在并且请求为新增、修改、删除操作时,拦截当前请求的来源和去向,从中获取请求信息以及响应信息。
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)
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)
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测试方法 |
-
2018
- 2018-10-18 CN CN201811214241.0A patent/CN109446769A/zh active Pending
Patent Citations (4)
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)
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)
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) | 统计身份认证及日志处理微服务***及其实现方法 | |
US11188619B2 (en) | Single click delta analysis | |
US10783270B2 (en) | Methods and systems for securing and retrieving sensitive data using indexable databases | |
US9633106B1 (en) | Log data analysis | |
US9003023B2 (en) | Systems and methods for interactive analytics of internet traffic | |
JP2023089207A (ja) | 統合ブロックチェーンに基づくデータ転送制御方法及びシステム | |
EP3738292A1 (en) | Self-adaptive application programming interface level security monitoring | |
US7917759B2 (en) | Identifying an application user as a source of database activity | |
AU2005246430B2 (en) | Service oriented architecture | |
US20150263914A1 (en) | Modeling Interactions with a Computer System | |
US20070300306A1 (en) | Method and system for providing granular data access control for server-client applications | |
US20160321664A1 (en) | System and method for secure transactions using images | |
US9843625B2 (en) | System and method for aggregating and providing data from enterprise systems to mobile devices | |
CN107196950A (zh) | 校验方法、装置及服务端 | |
CN106874778B (zh) | 基于Android***的智能终端文件获取以及数据恢复***及方法 | |
CN107124281A (zh) | 一种数据保全方法和相关*** | |
CN107169364A (zh) | 一种数据保全方法及相关*** | |
CN114240409A (zh) | 基于改进哈希时间锁的跨链资产交互方法 | |
CN112669157A (zh) | 基于区块链的交易方法、装置、***与可读存储介质 | |
DE112022000885T5 (de) | Dynamische hauptbenutzer-identifizierung und -isolierung zur verwaltung von sla-garantien | |
DE112022000856T5 (de) | Vereinheitlichte richtliniendurchsetzungsverwaltung in der cloud | |
CN110266722A (zh) | 一种多途径访问服务器的方法及*** | |
CN107426017A (zh) | 一种通过采集交换机网络流量进行数据分析的方法 | |
CN110377324A (zh) | 一种信息化平台监控***和构建方法 | |
CN108833451A (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 |