🐎 优化脱敏工具,将脱敏注解拆分为三个,SimpleDesensitizationHandler 支持SPI 注入,正则和滑动类型脱敏处理,可简单使用注解定义,减少自定义类
This commit is contained in:
@@ -10,9 +10,8 @@ import com.hccake.ballcat.admin.oauth.util.SecurityUtils;
|
||||
import com.hccake.ballcat.commom.log.access.handler.AccessLogHandler;
|
||||
import com.hccake.ballcat.commom.log.constant.LogConstant;
|
||||
import com.hccake.ballcat.commom.log.util.LogUtils;
|
||||
import com.hccake.ballcat.common.core.desensite.DesensitizationHandler;
|
||||
import com.hccake.ballcat.common.core.desensite.DesensitizationHandlerHolder;
|
||||
import com.hccake.ballcat.common.core.desensite.DesensitizationTypeConstant;
|
||||
import com.hccake.ballcat.common.core.desensite.enums.RegexDesensitizationTypeEnum;
|
||||
import com.hccake.ballcat.common.core.desensite.handler.RegexDesensitizationHandler;
|
||||
import com.hccake.ballcat.common.core.util.IPUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -53,8 +52,7 @@ public class AdminAccessLogHandler implements AccessLogHandler<AdminAccessLog> {
|
||||
/**
|
||||
* 脱敏处理器
|
||||
*/
|
||||
private final DesensitizationHandler desensitizationHandler = DesensitizationHandlerHolder.TYPE_MAPS
|
||||
.get(DesensitizationTypeConstant.ENCRYPTED_PASSWORD);
|
||||
private final RegexDesensitizationHandler regexDesensitizationHandler = new RegexDesensitizationHandler();
|
||||
|
||||
/**
|
||||
* 生产一个日志
|
||||
@@ -122,7 +120,9 @@ public class AdminAccessLogHandler implements AccessLogHandler<AdminAccessLog> {
|
||||
for (String paramKey : needDesensitizeParams) {
|
||||
String[] values = parameterMap.get(paramKey);
|
||||
if (values != null && values.length != 0) {
|
||||
parameterMap.put(paramKey, new String[] { desensitizationHandler.handle(values[0]) });
|
||||
String value = regexDesensitizationHandler.handle(values[0],
|
||||
RegexDesensitizationTypeEnum.ENCRYPTED_PASSWORD);
|
||||
parameterMap.put(paramKey, new String[] { value });
|
||||
}
|
||||
}
|
||||
params = objectMapper.writeValueAsString(parameterMap);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.dto;
|
||||
|
||||
import com.hccake.ballcat.common.core.desensite.DesensitizationTypeConstant;
|
||||
import com.hccake.ballcat.common.core.desensite.JsonDesensitize;
|
||||
import com.hccake.ballcat.common.core.desensite.annotation.JsonRegexDesensitize;
|
||||
import com.hccake.ballcat.common.core.desensite.enums.RegexDesensitizationTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -23,7 +23,7 @@ public class SysUserDTO {
|
||||
/**
|
||||
* 前端传入密码
|
||||
*/
|
||||
@JsonDesensitize(type = DesensitizationTypeConstant.ENCRYPTED_PASSWORD)
|
||||
@JsonRegexDesensitize(type = RegexDesensitizationTypeEnum.ENCRYPTED_PASSWORD)
|
||||
@ApiModelProperty(value = "前端传入密码")
|
||||
private String pass;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.hccake.ballcat.admin.modules.sys.model.dto;
|
||||
|
||||
import com.hccake.ballcat.common.core.desensite.DesensitizationTypeConstant;
|
||||
import com.hccake.ballcat.common.core.desensite.JsonDesensitize;
|
||||
import com.hccake.ballcat.common.core.desensite.annotation.JsonRegexDesensitize;
|
||||
import com.hccake.ballcat.common.core.desensite.enums.RegexDesensitizationTypeEnum;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -20,7 +20,7 @@ public class SysUserPassDTO {
|
||||
* 前端传入密码
|
||||
*/
|
||||
@NotBlank(message = "The password cannot be empty!")
|
||||
@JsonDesensitize(type = DesensitizationTypeConstant.ENCRYPTED_PASSWORD)
|
||||
@JsonRegexDesensitize(type = RegexDesensitizationTypeEnum.ENCRYPTED_PASSWORD)
|
||||
@ApiModelProperty(value = "前端输入密码")
|
||||
private String pass;
|
||||
|
||||
@@ -28,7 +28,7 @@ public class SysUserPassDTO {
|
||||
* 前端确认密码
|
||||
*/
|
||||
@NotBlank(message = "The confirm password cannot be empty!")
|
||||
@JsonDesensitize(type = DesensitizationTypeConstant.ENCRYPTED_PASSWORD)
|
||||
@JsonRegexDesensitize(type = RegexDesensitizationTypeEnum.ENCRYPTED_PASSWORD)
|
||||
@ApiModelProperty(value = "前端确认密码")
|
||||
private String confirmPass;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user