Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ApiBoot Logging整合Spring Security安全上报日志

ApiBoot Logging整合Spring Security安全上报日志

作者头像
恒宇少年
发布于 2019-11-06 11:32:05
发布于 2019-11-06 11:32:05
64100
代码可运行
举报
运行总次数:0
代码可运行

ApiBoot Logging在上报日志时虽然是一般通过内网的形式部署,不过安全方面还是主要依赖于服务器安全策略防火墙),为了提高日志上报的安全性,ApiBoot Logging支持了整合Spring Security来使用Basic Auth的形式上传日志信息。

创建Logging Admin项目

我们需要在集成ApiBoot Logging Admin项目内添加Spring Security相关依赖来完成安全配置,我们需要创建一个Logging Admin项目,可参考【将ApiBoot Logging采集的日志上报到Admin】文章内容。

集成Spring Security

Logging Admin项目pom.xml文件内添加Spring Security依赖,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--SpringBoot Security-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

配置Spring Security认证用户

我们使用SpringBoot集成Spring Security提供的配置文件的方式配置Basic User信息,这种方式使用的是内存方式,用户信息被存储在内存中,如果你需要从数据库内读取,可以查看Spring SecurityUserDetails具体使用方法。

application.yml文件添加如下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring:
  # 配置内存方式Spring Security用户信息
  security:
    user:
      name: admin
      password: admin123

创建Logging Client项目

我们的业务服务需要集成ApiBoot Logging依赖(作为Logging Client进行上报请求日志),可参考【使用ApiBoot Logging进行统一管理请求日志】文章内容创建项目。

配置安全上报

如果使用过Eureka的小伙伴应该对路径配置Basic User的方式不陌生,格式为:username:password@ip:port

application.yml修改上报的Logging Admin路径如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
api:
  boot:
    logging:
      # 美化打印日志
      format-console-log-json: true
      # 控制台显示打印日志
      show-console-log: true
      # 配置Logging Admin
      admin:
        server-address: admin:admin123@127.0.0.1:8081

我们在Logging Admin配置的用户名为:admin,密码为:admin123,而@符号后面就是Logging AdminIP地址以及端口号

测试

下面我们进行测试Spring Security是否起到了作用。

依次启动Logging AdminLogging Client,通过以下命令访问接口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~ curl http://localhost:8080/test\?name\=admin 
你好:admin

Logging Admin控制台可以看到上报的请求日志信息时,证明我们已经安全的上报了日志,如果Logging Client控制台打印401 Exception认证错误信息,请检查Logging Client配置的路径Basic User是否正确。

敲黑板,划重点

请求日志是用来检查接口的稳定性、排除一些请求异常问题的主要凭据,所以我们尽可能要保证数据的有效性、安全性,建议搭配Spring Security一块使用ApiBoot Logging

代码示例

本篇文章示例源码可以通过以下途径获取,目录为SpringBoot2.x/apiboot-logging-integrates-spring-security

作者个人 博客 使用开源框架 ApiBoot 助你成为Api接口服务架构师

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ApiBoot Logging整合SpringCloud Eureka负载均衡上报日志
ApiBoot Logging支持整合服务注册中心(Eureka、Consul、Nacos Discovery、Zookeeper...)进行上报请求日志,Logging Client会从服务注册中心内找到指定ServiceID的Logging Admin具体可用实例,通过SpringCloud Discovery内部的负载均衡策略返回Logging Admin的部署服务器IP以及端口号,这样Logging Client就可以完成请求日志的上报流程。
恒宇少年
2019/11/06
6270
ApiBoot Logging Admin可视化界面管理日志
ApiBoot Logging Admin支持界面可视化查看请求日志信息,初期版本支持查看上报日志的服务列表、最新的链路日志等功能,还可以整合Spring Security配置用户名、密码
恒宇少年
2019/11/11
1K0
使用ApiBoot Logging进行统一管理请求日志
ApiBoot Logging通过集成minbox-logging来进行管理每一次请求的日志信息,包含头信息、参数、主体内容、路径、发生的服务器相关信息等,根据接口的响应状态还可以记录响应的头信息、响应的内容以及发生异常时的堆栈信息。
恒宇少年
2019/10/18
6690
使用ApiBoot Logging进行统一管理请求日志
MinBox Logging v1.0.0 使用文档
MinBox Logging是一款分布式、零侵入式的链路日志分析框架,支持SpringCloud微服务架构下配置使用,内部封装了RestTemplate、OpenFeign两种方式透传链路信息。
恒宇少年
2019/09/30
6060
MinBox Logging v1.0.0 使用文档
ApiBoot Logging使用SpringCloud Openfeign透传链路信息
ApiBoot Logging可以无缝整合SpringCloud来采集请求日志,目前支持RestTemplate、Openfeign两种方式,我们本章来讲解下在使用Openfeign完成服务之间请求相互调用的一条链路请求日志是否可以都采集到。
恒宇少年
2019/11/11
6120
ApiBoot Logging使用RestTemplate透传链路信息
在上一篇文章【ApiBoot Logging使用SpringCloud Openfeign透传链路信息】中我们详细的讲解了ApiBoot Logging整合SpringCloud通过Openfeign进行透传链路信息,包括traceId(链路编号)、parentSpanId(上级单元编号)等信息。 ApiBoot Logging不仅仅可以使用Openfeign传递链路信息,还支持RestTemplate方式,本篇文章来详细的讲解下具体的使用方式。
恒宇少年
2019/11/11
5570
ApiBoot 2.1.3.RELEASE发布,支持Logging Admin 界面管理
ApiBoot为接口服务而生,基于SpringBoot完成扩展、自动化配置,通过封装一系列Starter来让调用者快速集成组件,降低学习、使用门槛,提高开发效率。
恒宇少年
2019/08/16
5110
ApiBoot 2.1.3.RELEASE发布,支持Logging Admin 界面管理
ApiBoot开源框架各个组件的系列使用文章汇总
ApiBoot是接口服务的落地解决方案,依赖于SpringBoot,提供了一系列开箱即用的组件,通过封装来简化主流第三方框架的集成,从而提高开发者开发效率、学习成本、降低入门门槛,真正的实现开箱即用。
恒宇少年
2019/12/13
4740
基于ApiBoot的前后分离演示脚手架诞生了~
ApiBoot发布到目前为止已经9个月的时光了,在这段时间内有过热泪迎面、有过沮丧、也有过无从下手的感觉,坚持开源是我作为程序员的愿景,尽我所能,继续坚持!!!
恒宇少年
2020/01/15
3950
基于ApiBoot的前后分离演示脚手架诞生了~
将ApiBoot Logging采集的日志上报到Admin
通过ApiBoot Logging可以将每一条请求的详细信息获取到,在分布式部署方式中,一个请求可能会经过多个服务,如果是每个服务都独立保存请求日志信息,我们没有办法做到统一的控制,而且还会存在日志数据库与业务数据库不一致的情况出现(可能会用到多数据源配置),正因为这个问题ApiBoot Logging提供了一个Admin的概念,将客户端采集到的的每一条日志都进行上报到Admin,由Admin进行分析、保存等操作。
恒宇少年
2019/10/23
3370
修改ApiBoot Logging日志采集的路径前缀
ApiBoot Logging支持指定单个或者多个路径的前缀进行采集,也就是我们可以指定/user/**或者/order/**下的单个或者同时指定多个路径进行采集请求日志,其他不符合Ant表达式的路径就会被忽略掉。
恒宇少年
2019/10/29
7200
ApiBoot接口服务框架的又一新特性GlobalLog全局日志的使用详解
其实理解起来比较简单,类似于我们平时一直在使用的logback、log4j这种的日志框架的其中一个功能部分,minbox-logging分布式日志框架目前独立于api-boot-plugins,已经加入了minbox-projects开源组织,之前博客有一系列的文章来讲解了ApiBoot Logging(内部是集成的minbox-logging)日志组件的使用以及极简的配置方式,可以访问ApiBoot 组件系列文章使用汇总了解日志组件的使用详情。
恒宇少年
2019/12/19
4090
Api架构奥义:ApiBoot实现零代码整合Spring Security & OAuth2
接口服务的安全性一直是程序员比较注重的一个问题,成熟的安全框架也比较多,其中一个组合就是Spring Security与OAuth2的整合,在ApiBoot内通过代码的封装、自动化配置实现了自动化整合这两大安全框架。
恒宇少年
2019/11/13
6780
ApiBoot Logging忽略路径不进行采集日志
ApiBoot Logging支持排除指定路径不参与日志的采集,当我们的服务集成actuator时,会不断的重复调用内置的路径导致大量采集到一些无关业务的日志信息,当然这只是一个例子,集成其他的第三方组件时也可能出现定时重复调用接口的场景。
恒宇少年
2019/10/29
5280
微服务中一个监控Spring Boot的神器
你是不是在一个月黑风高的晚上想过这么一件事情,就是想把spring boot actuator的那些endpoint可视化,是不是想着自己搞一个UI。 每当你有这种想法的时候,建议你一定要首先想想:开源世界是不是早就有人做了。 没错,有人为你做好了。其中最有名的当属spring-boot-admin这个项目了。 spring boot admin是个什么鬼呢?就是一个可以监控和管理spring boot应用的admin管理应用。原理很简单,就是把spring boot actuator中的那些endpoin
ImportSource
2018/04/03
9.6K2
微服务中一个监控Spring Boot的神器
ApiBoot 2.0.5.RELEASE 版本发布
GitHub Wiki:https://github.com/hengboy/api-boot/wiki 码云 Wiki:https://gitee.com/hengboy/api-boot/wikis
恒宇少年
2019/05/08
4300
自定义ApiBoot Logging链路以及单元ID生成策略
ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。
恒宇少年
2019/10/23
6250
自定义ApiBoot Logging链路以及单元ID生成策略
Spring Boot 2 实战:使用 Spring Boot Admin 监控平台
生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以通过一个轻量级的监控工具 Spring Boot Admin (SBA) 来进行监控。
码农小胖哥
2019/12/10
3.9K0
Spring Boot 2 实战:使用 Spring Boot Admin 监控平台
Spring Security入门(二) 基于内存存储的表单登录实战
Spring Security 对Servlet的安全认证是基于包含一系列的过滤器对请求进行层层拦截处理实现的,多个过滤器组成过滤器链。处理单个http 请求的过滤链角色示意图如下所示:
用户3587585
2022/09/21
8190
Spring Security入门(二) 基于内存存储的表单登录实战
ApiBoot 2.0.7.RELEASE 版本发布
ApiBoot是一款基于SpringBoot1.x,SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成、使用扩展、自动化配置等,让接口开发者可以选着性完成开箱即用,不再为搭建接口框架而犯愁,从而极大的提高开发效率。
恒宇少年
2019/05/15
4760
推荐阅读
相关推荐
ApiBoot Logging整合SpringCloud Eureka负载均衡上报日志
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验