ApiBoot Logging整合Spring Security安全上報日誌

ApiBoot Logging在上報日誌時雖然是通常經過內網的形式部署,不過安全方面仍是主要依賴於服務器的安全策略(防火牆),爲了提升日誌上報的安全性,ApiBoot Logging支持了整合Spring Security來使用Basic Auth的形式上傳日誌信息。
<!--more-->html

建立Logging Admin項目

咱們須要在集成ApiBoot Logging Admin項目內添加Spring Security相關依賴來完成安全配置,咱們須要建立一個Logging Admin項目,可參考【將ApiBoot Logging採集的日誌上報到Admin】文章內容。git

集成Spring Security

Logging Admin項目pom.xml文件內添加Spring Security依賴,以下所示:spring

<!--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文件添加以下配置:json

spring:
  # 配置內存方式Spring Security用戶信息
  security:
    user:
      name: admin
      password: admin123

建立Logging Client項目

咱們的業務服務須要集成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 AdminIP地址以及端口號服務器

測試

下面咱們進行測試Spring Security是否起到了做用。架構

依次啓動Logging AdminLogging 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接口服務架構師
相關文章
相關標籤/搜索