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接口服务架构师
相关文章
相关标签/搜索