diff --git a/pom.xml b/pom.xml index 9cf947232ae0dfbcf7fba7503d7034384b0f4939..fb260bb2012992633b46b9b94632fe7e718d0e5e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 io.gitee.chemors secure-ext-spring-boot-starter - 1.0.2-RELEASE + 1.0.3-RELEASE secure-ext-spring-boot-starter secure-ext-spring-boot-starter https://gitee.com/chemors/secure-ext-spring-boot-starter diff --git a/src/main/java/com/mos/secure/ext/aspect/SensitiveAspect.java b/src/main/java/com/mos/secure/ext/aspect/SensitiveAspect.java index 301fe82720bb665c1d75e8c4c66d3017f656f578..322083b1495ff716ed341c83cfb5d16b8be54b9a 100644 --- a/src/main/java/com/mos/secure/ext/aspect/SensitiveAspect.java +++ b/src/main/java/com/mos/secure/ext/aspect/SensitiveAspect.java @@ -14,10 +14,8 @@ import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.util.Arrays; import java.util.List; /** @@ -74,11 +72,6 @@ public class SensitiveAspect { public Object sensitiveFormat(ProceedingJoinPoint joinPoint) throws Throwable { Object obj = joinPoint.proceed(); dealNode(obj); - /* if (obj instanceof List) { - dealList(obj); - } else { - dealSimpleData(obj); - }*/ return obj; } @@ -89,20 +82,6 @@ public class SensitiveAspect { } } - /* private void dealSimpleData(Object obj) throws IllegalAccessException { - Field[] fields = obj.getClass().getDeclaredFields(); - for (Field field : fields) { - field.setAccessible(true); - DesensitizationProp desensitizationProp = field.getAnnotation(DesensitizationProp.class); - if (desensitizationProp == null) { - continue; - } - String v = MosDesensitizedUtil.desensitizeData(field.get(obj),desensitizationProp); - field.set(obj, v); - } - }*/ - - public void dealNode(Object o) throws IllegalAccessException { if (o instanceof List){ dealList(o); @@ -116,16 +95,20 @@ public class SensitiveAspect { for (Field field : fields){ field.setAccessible(true); String type = field.getGenericType().toString(); + Object fieldValueObj = field.get(o); + if (fieldValueObj instanceof List){ + dealList(fieldValueObj); + } // 递归子属性 if (needDepthDeal && containType(type)){ - dealNode(field.get(o)); + dealNode(fieldValueObj); } DesensitizationProp desensitizationProp = field.getAnnotation(DesensitizationProp.class); if (desensitizationProp == null) { continue; } - String v = MosDesensitizedUtil.desensitizeData(field.get(o),desensitizationProp); + String v = MosDesensitizedUtil.desensitizeData(fieldValueObj,desensitizationProp); field.set(o, v); } }