美文网首页Spring Boot 核心技术
ApiBoot Logging整合Spring Security

ApiBoot Logging整合Spring Security

作者: 恒宇少年 | 来源:发表于2019-11-04 16:01 被阅读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依赖,如下所示:

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

    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路径如下所示:

    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接口服务架构师

    相关文章

      网友评论

        本文标题:ApiBoot Logging整合Spring Security

        本文链接:https://www.haomeiwen.com/subject/wvedbctx.html