houbb / sensitive

🔐Sensitive log tool for java, based on java annotation. (基于注解的 java 日志脱敏工具框架,更加优雅的日志打印。支持自定义哈希、支持基于 log4j2 插件的统一脱敏、支持 logback 插件统一脱敏)
Other
608 stars 180 forks source link

添加支持自定义级联脱敏注解,方便使用者进行二次封装 #6

Closed dev-sxl closed 4 years ago

dev-sxl commented 4 years ago

添加支持自定义级联脱敏注解,方便使用者进行二次封装; 当前支持 1.自定义脱敏策略, 2.自定义脱敏策略生效条件, 但却缺少自定义级联脱敏注解@SensitiveEntry注解的支持, 使用者若想对框架进行二次包装,就形成不了闭环(刚好我目前就有这个需求), 故添加支持自定义级联脱敏注解的支持.

houbb commented 4 years ago

感谢 PR。 方便的话,能否详细的讲解下具体的应用场景,以便于我更好的理解这个特性。

目前主要有下面疑虑 (1)级联此处是指什么? (2)有什么脱敏场景,在指定脱敏条件+脱敏策略也无法实现的?

dev-sxl commented 4 years ago

(1) 我说的级联,就是实体中嵌套实体的情况,可以类比我们常用的@Valid级联校验注解的, 目前框架中您定义的@SensitiveEntry注解,按我的理解就是算是级联脱敏注解 (2) 我的场景是这样的,我公司不想直接使用这个框架,我们想对您的框架做一下包装,注解全部使用我们自己定义,这样就发现了一个问题,当实体的属性又是实体时,我们需要对该属性对象内部的部分属性继续脱敏处理,这时我们需要定义一个注解(其实就是目前框架中@SensitiveEntry换个名字)标明,但是目前框架是不支持我们自己定义这个注解的

houbb commented 4 years ago

好的,我大概理解了这种应用场景。 其实这个框架的设计思路和 hibernate-validator 是类似的,@SensitiveEntry 的作用也类似 @Valid。 设计之初,希望当前工具的专注于脱敏,所以限制了这个注解的自定义。如果不限制,这个工具也可以变成 hibernate-validator,或者任何类似的工具。 贵司可以暂时使用下 @SensitiveEntry 或者做下二次开发。 最近有点忙,我周末仔细 review 下 PR,做下这个特性的实现(可能会重新实现),无论何种方式都会保留PR的作者信息。 祝使用愉快~

dev-sxl commented 4 years ago

好的👍👍👍

houbb commented 4 years ago

好的

v0.0.11 版本已发布到 maven 仓库。 在 PR 的基础上做了一点微调,使用愉快~~