这个开源组件太强了,仅需三步完成 SpringBoot 日志脱敏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个开源组件太强了,仅需三步完成 SpringBoot 日志脱敏相关的知识,希望对你有一定的参考价值。
参考技术A在我们书写代码的时候,会书写许多日志代码,但是有些敏感数据是需要进行安全脱敏处理的。
对于日志脱敏的方式有很多,常见的有①使用 conversionRule 标签,继承 MessageConverter ②书写一个脱敏工具类,在打印日志的时候对特定特字段进行脱敏返回。
两种方式各有优缺点:
一个项目在书写了很多打印日志的代码,但是后面有了脱敏需求,如果我们去手动改动代码,会花费大量时间。如果引入本组件,完成配置即可轻松完成脱敏。(仅需三步可轻松配置)
前提是你将Jar包打入本地仓库,Jar包地址见后文。
日志打印方式都只需要替换成脱敏的类即可,如果你的业务不需要,则无需替换。
该配置文件应该放在resources文件下
八大基本类型及其包装类型、Map、List、业务里的Pojo对象、List业务里的Pojo对象>、JSON字符串。
List八大基本类型及包装类型>,因为不知道脱敏的数据源具体是哪一个。
key + 分割符 + value,目前仅支持冒号(:)和等号(=),示例如下:
建议书写日志的时候尽量规范,对于key为中文的是没有办法脱敏的,规范程度可以见脱敏效果演示里的代码。
上面这个配置是相对完整的,一定要严格遵守层级配置格式。
emai:"@>(4,7)" , @ 为脱敏标志, > 表示其为结束节点, < 表示其为开始节点。即 @> 表示对 @ 之前的进行脱敏, @< 表示对 @ 之后的进行脱敏。这个示例就是 @ 前的数据的第4-7位进行脱敏。推荐: Java面试题宝典
customRegex:正则表达式,如果符合该表达式,则使用其对应的脱敏规则(position)
比如说,username字段的值可以是手机号、也可以是邮箱,这个值动态改变的,前面几种方式都没办法解决,可以使用该方式。
该组件内置四种匹配规则:手机号、身份证号、邮箱、other(其他匹配不到时用的),内置一种脱敏方式:password,表示完全脱敏,可用于pattren下的。
注:当pattern和patterns下的key有重复的时候,只会使用pattern下指定的方式进行脱敏。
Jar包地址和源码地址
Github地址:
1、下载Jar包,放在一个文件夹里
2、在这个文件夹里打开cmd(打开cmd,进入到这个文件夹)
3、执行命令(前提保证maven配置正常,使用 mvn -v 命令查看是否正常,如果显示版本号表示正常)
命令说明:
学会使用DNSPod,仅需三步
学会使用DNSPod,仅需三步 |
第一步:在DNSPod添加记录1、访问 https://www.dnspod.cn网站,在DNSPod官网首页的右上角,有【注册】,如下图所示,点击【注册】按钮 2、在账户注册界面,输入您邮箱,及密码,详读《DNSPod域名解析服务协议》后,点击【同意以下协议并注册】
3、点击【立即 开始使用】
4、点击【添加域名】
5、添加上您要解析的主域名后,点击【确定】
6、点击刚添加的域名
7、在域名记录管理界面,点击【添加记录】,添加您需要解析的记录即可
DNSPod各种记录的使用方法,请参考 【帮助中心】 -【功能介绍及使用教程】-【各种记录的设置教程】
8、记录添加完成并且在域名dns修改正确,会出现一个激活账号的提示,根据提示激活账号即可
第二步:修改域名DNS地址第三步:耐心!等待生效按照前两步走完之后,只需要耐心等待即可。 注意:修改 DNS 服务器需要 0-72 小时的全球生效时间,如果发现某些地方记录没有生效,并且修改 DNS 的时间还不到 72 小时,请耐心等待。 |
以上是关于这个开源组件太强了,仅需三步完成 SpringBoot 日志脱敏的主要内容,如果未能解决你的问题,请参考以下文章
这个开源组件太强了,仅需三步完成 SpringBoot 日志脱敏