操作日志参数过滤&脱敏.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package com.orion.ops.framework.common.json.filter;
|
||||
|
||||
import com.alibaba.fastjson.serializer.ValueFilter;
|
||||
import com.orion.lang.utils.Desensitizes;
|
||||
import com.orion.lang.utils.Objects1;
|
||||
import com.orion.lang.utils.collect.Lists;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字段脱敏过滤器
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/10/12 11:34
|
||||
*/
|
||||
public class FieldDesensitizeFilter implements ValueFilter {
|
||||
|
||||
private final int keepStart;
|
||||
|
||||
private final int keepEnd;
|
||||
|
||||
private final List<String> desensitizeFields;
|
||||
|
||||
public FieldDesensitizeFilter(List<String> desensitizeFields) {
|
||||
this(1, 1, desensitizeFields);
|
||||
}
|
||||
|
||||
public FieldDesensitizeFilter(int keepStart, int keepEnd, List<String> desensitizeFields) {
|
||||
this.keepStart = keepStart;
|
||||
this.keepEnd = keepEnd;
|
||||
this.desensitizeFields = desensitizeFields;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object process(Object object, String name, Object value) {
|
||||
if (Lists.isEmpty(desensitizeFields) || !desensitizeFields.contains(name)) {
|
||||
return value;
|
||||
}
|
||||
return Desensitizes.mix(Objects1.toString(value), keepStart, keepEnd);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.orion.ops.framework.common.json.filter;
|
||||
|
||||
import com.alibaba.fastjson.serializer.PropertyFilter;
|
||||
import com.orion.lang.utils.collect.Lists;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 字段忽略过滤器
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
* @since 2023/10/12 11:21
|
||||
*/
|
||||
public class FieldIgnoreFilter implements PropertyFilter {
|
||||
|
||||
private final List<String> ignoreFields;
|
||||
|
||||
public FieldIgnoreFilter(List<String> ignoreFields) {
|
||||
this.ignoreFields = ignoreFields;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Object object, String name, Object value) {
|
||||
return Lists.isEmpty(ignoreFields) || !ignoreFields.contains(name);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 工具类
|
||||
* 配置工具类
|
||||
*
|
||||
* @author Jiahang Li
|
||||
* @version 1.0.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.orion.ops.framework.common.filter;
|
||||
package com.orion.ops.framework.common.web.filter;
|
||||
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
|
||||
Reference in New Issue
Block a user