add 增加邮箱与银行卡脱敏策略 并应用到 SysUser
This commit is contained in:
parent
51b19fcff4
commit
45e6accd2a
@ -3,7 +3,9 @@ package com.ruoyi.common.core.domain.entity;
|
||||
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 @@ public class SysUser extends BaseEntity {
|
||||
/**
|
||||
* 用户邮箱
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.EMAIL)
|
||||
@ApiModelProperty(value = "用户邮箱")
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
|
||||
@ -73,6 +76,7 @@ public class SysUser extends BaseEntity {
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.PHONE)
|
||||
@ApiModelProperty(value = "手机号码")
|
||||
private String phonenumber;
|
||||
|
||||
|
@ -1,31 +1,48 @@
|
||||
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;
|
||||
}
|
||||
|
@ -34,9 +34,11 @@ public class TestSensitiveController extends BaseController {
|
||||
@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 @@ public class TestSensitiveController extends BaseController {
|
||||
@Sensitive(strategy = SensitiveStrategy.ADDRESS)
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.EMAIL)
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 银行卡
|
||||
*/
|
||||
@Sensitive(strategy = SensitiveStrategy.BANK_CARD)
|
||||
private String bankCard;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user