From 45e6accd2a58d4412fc38e27844c278f2273236b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 28 十二月 2021 12:03:00 +0800 Subject: [PATCH] add 增加邮箱与银行卡脱敏策略 并应用到 SysUser --- ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java | 20 +++++++++++++++++--- ruoyi-common/src/main/java/com/ruoyi/common/enums/SensitiveStrategy.java | 35 ++++++++++++++++++++++++++--------- ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | 4 ++++ 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java index dde679c..2d991a5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java @@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.ruoyi.common.annotation.Sensitive; import com.ruoyi.common.core.domain.BaseEntity; +import com.ruoyi.common.enums.SensitiveStrategy; import com.ruoyi.common.xss.Xss; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -65,6 +67,7 @@ /** * 鐢ㄦ埛閭 */ + @Sensitive(strategy = SensitiveStrategy.EMAIL) @ApiModelProperty(value = "鐢ㄦ埛閭") @Email(message = "閭鏍煎紡涓嶆纭�") @Size(min = 0, max = 50, message = "閭闀垮害涓嶈兘瓒呰繃50涓瓧绗�") @@ -73,6 +76,7 @@ /** * 鎵嬫満鍙风爜 */ + @Sensitive(strategy = SensitiveStrategy.PHONE) @ApiModelProperty(value = "鎵嬫満鍙风爜") private String phonenumber; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SensitiveStrategy.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SensitiveStrategy.java index 5f9bf72..f667173 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SensitiveStrategy.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SensitiveStrategy.java @@ -1,30 +1,47 @@ package com.ruoyi.common.enums; import cn.hutool.core.util.DesensitizedUtil; +import lombok.AllArgsConstructor; + import java.util.function.Function; /** * 鑴辨晱绛栫暐 - * @author Yjoioooo + * + * @author Yjoioooo + * @version 3.6.0 */ +@AllArgsConstructor public enum SensitiveStrategy { - /** 韬唤璇佽劚鏁� */ + /** + * 韬唤璇佽劚鏁� + */ ID_CARD(s -> DesensitizedUtil.idCardNum(s, 3, 4)), - /** 鎵嬫満鍙疯劚鏁� */ + /** + * 鎵嬫満鍙疯劚鏁� + */ PHONE(DesensitizedUtil::mobilePhone), - /** 鍦板潃鑴辨晱 */ - ADDRESS(s -> DesensitizedUtil.address(s, 8)); + /** + * 鍦板潃鑴辨晱 + */ + ADDRESS(s -> DesensitizedUtil.address(s, 8)), + + /** + * 閭鑴辨晱 + */ + EMAIL(DesensitizedUtil::email), + + /** + * 閾惰鍗� + */ + BANK_CARD(DesensitizedUtil::bankCard); //鍙嚜琛屾坊鍔犲叾浠栬劚鏁忕瓥鐣� private final Function<String, String> desensitizer; - - SensitiveStrategy(Function<String, String> desensitizer) { - this.desensitizer = desensitizer; - } public Function<String, String> desensitizer() { return desensitizer; diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java index 2458747..3c6d23e 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestSensitiveController.java @@ -34,9 +34,11 @@ @GetMapping("/test") public AjaxResult<TestSensitive> test() { TestSensitive testSensitive = new TestSensitive() - .setIdCard("3333199910101212") - .setPhone("18888888888") - .setAddress("鍖椾含甯傛湞闃冲尯鏌愭煇鍥涘悎闄�1203瀹�"); + .setIdCard("210397198608215431") + .setPhone("17640125371") + .setAddress("鍖椾含甯傛湞闃冲尯鏌愭煇鍥涘悎闄�1203瀹�") + .setEmail("17640125371@163.com") + .setBankCard("6226456952351452853"); return AjaxResult.success(testSensitive); } @@ -62,6 +64,18 @@ @Sensitive(strategy = SensitiveStrategy.ADDRESS) private String address; + /** + * 閭 + */ + @Sensitive(strategy = SensitiveStrategy.EMAIL) + private String email; + + /** + * 閾惰鍗� + */ + @Sensitive(strategy = SensitiveStrategy.BANK_CARD) + private String bankCard; + } } -- Gitblit v1.9.3