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接口服務架構師