Skip to content

Commit 403e963

Browse files
committed
feat: 对 Api log 记录的敏感字段做忽略控制
1 parent c11e506 commit 403e963

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

common/plugin/log/src/main/java/com/github/cadecode/uniboot/common/plugin/log/handler/AbstractApiLogHandler.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.github.cadecode.uniboot.common.plugin.log.handler;
22

3+
import cn.hutool.core.collection.CollUtil;
34
import com.github.cadecode.uniboot.common.plugin.log.annotation.ApiLogger;
45
import com.github.cadecode.uniboot.common.plugin.log.aspect.ApiLoggerAspect.BaseLogInfo;
56
import lombok.extern.slf4j.Slf4j;
@@ -15,6 +16,7 @@
1516
import java.util.Collections;
1617
import java.util.HashMap;
1718
import java.util.Map;
19+
import java.util.Set;
1820

1921
/**
2022
* Api Log 处理器抽象
@@ -25,6 +27,8 @@
2527
@Slf4j
2628
public abstract class AbstractApiLogHandler {
2729

30+
private static final Set<String> IGNORE_LOG_FIELD_SET = CollUtil.newHashSet("password");
31+
2832
public abstract Object generateLog(ProceedingJoinPoint point, BaseLogInfo baseLogInfo);
2933

3034
public abstract void save(ApiLogger apiLogger, Object o);
@@ -46,6 +50,11 @@ public static Map<String, Object> getRequestParams(JoinPoint joinPoint, ApiLogge
4650
}
4751
Map<String, Object> map = new HashMap<>();
4852
for (int i = 0; i < names.length; i++) {
53+
// 对敏感字段进行排除
54+
if (IGNORE_LOG_FIELD_SET.contains(names[i])) {
55+
map.put(names[i], "[IGNORE_LOG_FIELD]");
56+
continue;
57+
}
4958
// 排除请求对象和响应
5059
if (args[i] instanceof HttpServletRequest || args[i] instanceof HttpServletResponse) {
5160
continue;

0 commit comments

Comments
 (0)