Browse Source

优化敏感信息隐藏逻辑

hubin 1 year ago
parent
commit
5c76dfa6d8

+ 0 - 3
src/main/java/com/aizuda/boot/modules/system/entity/SysUser.java

@@ -7,7 +7,6 @@ package com.aizuda.boot.modules.system.entity;
 
 import com.aizuda.core.bean.BaseEntity;
 import com.aizuda.core.validation.Create;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
@@ -31,13 +30,11 @@ public class SysUser extends BaseEntity {
     @Size(max = 20)
     private String username;
 
-    @JsonIgnore
     @Schema(description = "密码")
     @NotBlank(groups = Create.class)
     @Size(max = 32)
     private String password;
 
-    @JsonIgnore
     @Schema(description = "随机盐")
     private String salt;
 

+ 13 - 5
src/main/java/com/aizuda/boot/modules/system/service/impl/SysUserServiceImpl.java

@@ -52,14 +52,22 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser>
         Page<SysUser> sysUserPage = baseMapper.selectPageByVO(page, vo);
         if (sysUserPage.getTotal() > 0) {
             // 对外隐藏属性
-            sysUserPage.getRecords().forEach(t -> {
-                t.setPassword(null);
-                t.setSalt(null);
-            });
+            this.hiddenData(sysUserPage.getRecords());
         }
         return sysUserPage;
     }
 
+    /**
+     * 隐藏数据
+     */
+    protected List<SysUser> hiddenData(List<SysUser> sysUsers) {
+        sysUsers.forEach(t -> {
+            t.setPassword(null);
+            t.setSalt(null);
+        });
+        return sysUsers;
+    }
+
     @Override
     public List<SysUser> list20ByUsername(String username) {
         LambdaQueryWrapper<SysUser> lqw = Wrappers.lambdaQuery();
@@ -67,7 +75,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser>
             lqw.like(SysUser::getUsername, username);
             lqw.or().like(SysUser::getRealName, username);
         }
-        return super.page(Page.of(1, 20, false), lqw).getRecords();
+        return this.hiddenData(super.page(Page.of(1, 20, false), lqw).getRecords());
     }
 
     @Transactional(rollbackFor = Exception.class)