ApiBoot Logging
在上报日志时虽然是通常经过内网的形式部署,不过安全方面仍是主要依赖于服务器的安全策略
(防火墙),为了提升日志上报的安全性,ApiBoot Logging
支持了整合Spring Security
来使用Basic Auth
的形式上传日志信息。
<!--more-->html
咱们须要在集成ApiBoot Logging Admin
项目内添加Spring Security
相关依赖来完成安全配置,咱们须要建立一个Logging Admin
项目,可参考【将ApiBoot Logging采集的日志上报到Admin】文章内容。git
在Logging Admin
项目pom.xml
文件内添加Spring Security
依赖,以下所示:spring
<!--SpringBoot Security--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
咱们使用SpringBoot
集成Spring Security
提供的配置文件的方式配置Basic User
信息,这种方式使用的是内存方式,用户信息被存储在内存中,若是你须要从数据库内读取,能够查看Spring Security
的UserDetails
具体使用方法。数据库
application.yml文件添加以下配置:json
spring: # 配置内存方式Spring Security用户信息 security: user: name: admin password: admin123
咱们的业务服务须要集成ApiBoot Logging
依赖(做为Logging Client
进行上报请求日志),可参考【使用ApiBoot Logging进行统一管理请求日志】文章内容建立项目。api
若是使用过Eureka
的小伙伴应该对路径配置Basic User
的方式不陌生,格式为:username:password@ip:port
。安全
application.yml修改上报的Logging Admin
路径以下所示:bash
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 Admin
的IP地址
以及端口号
。服务器
下面咱们进行测试Spring Security
是否起到了做用。架构
依次启动Logging Admin
、Logging Client
,经过如下命令访问接口:
➜ ~ 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接口服务架构师