From d1f8b2ed17b5290bc67b5fb757dde1a381a88907 Mon Sep 17 00:00:00 2001 From: zendwang <wangzhenxian@idadt.com> Date: 星期一, 04 七月 2022 13:07:07 +0800 Subject: [PATCH] update 优化魔法值 --- ruoyi-common/src/main/java/com/ruoyi/common/jackson/SensitiveJsonSerializer.java | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/jackson/SensitiveJsonSerializer.java b/ruoyi-common/src/main/java/com/ruoyi/common/jackson/SensitiveJsonSerializer.java index 2b4fef4..b29d9c6 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/jackson/SensitiveJsonSerializer.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/jackson/SensitiveJsonSerializer.java @@ -1,5 +1,6 @@ package com.ruoyi.common.jackson; +import cn.hutool.core.util.ObjectUtil; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JsonMappingException; @@ -7,14 +8,16 @@ import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import com.ruoyi.common.annotation.Sensitive; +import com.ruoyi.common.core.service.SensitiveService; import com.ruoyi.common.enums.SensitiveStrategy; -import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import java.io.IOException; import java.util.Objects; /** * 鏁版嵁鑴辨晱json搴忓垪鍖栧伐鍏� + * * @author Yjoioooo */ public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer { @@ -23,10 +26,11 @@ @Override public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException { - if (SecurityUtils.isAdmin(SecurityUtils.getLoginUser().getUserId()) || SecurityUtils.getLoginUser().getMenuPermissions().contains("Sensitive")){ - gen.writeString(value); - } else { + SensitiveService sensitiveService = SpringUtils.getBean(SensitiveService.class); + if (ObjectUtil.isNotNull(sensitiveService) && sensitiveService.isSensitive()) { gen.writeString(strategy.desensitizer().apply(value)); + } else { + gen.writeString(value); } } @@ -34,7 +38,7 @@ @Override public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException { Sensitive annotation = property.getAnnotation(Sensitive.class); - if (Objects.nonNull(annotation)&&Objects.equals(String.class, property.getType().getRawClass())) { + if (Objects.nonNull(annotation) && Objects.equals(String.class, property.getType().getRawClass())) { this.strategy = annotation.strategy(); return this; } -- Gitblit v1.9.3