项目介绍
日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的***性太强。编写起来又特别麻烦。
本项目提供基于注解的方式,并且内置了常见的脱敏方式,便于开发。
用户也可以基于自己的实际需要,自定义注解。
特性
-
基于注解的日志脱敏
-
可以自定义策略实现,策略生效条件
-
常见的脱敏内置方案
-
java 深拷贝,且原始对象不用实现任何接口。
快速开始
maven 导入
定义对象
- User.java
我们对 password 使用脱敏,指定脱敏策略为 StrategyPassword。(直接返回 null)
属性为集合或者对象
如果某个属性是单个集合或者对象,则需要使用注解 @SensitiveEntry
。
- 放在集合属性上,且属性为普通对象
会遍历每一个属性,执行上面的脱敏策略。
- 放在对象属性上
会处理对象中各个字段上的脱敏注解信息。
- 放在集合属性上,且属性为对象
遍历每一个对象,处理对象中各个字段上的脱敏注解信息。
放在集合属性上,且属性为普通对象
- UserEntryBaseType.java
作为演示,集合中为普通的字符串。
- 构建对象
- 测试演示
- 日志信息
放在对象属性上
- 演示对象
这里的 User 和上面的 User 对象一致。
- 对象构建
- 测试演示
- 测试结果
需求 & BUGS
欢迎加入开发
如果你对本项目有兴趣,并且对代码有一定追求,可以申请加入本项目开发。
如果你善于写文档,或者愿意补全测试案例,也非常欢迎加入。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)