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.baomidou.mybatisplus.annotation.*;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.ruoyi.common.annotation.Sensitive;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import com.ruoyi.common.enums.SensitiveStrategy;
|
||||||
import com.ruoyi.common.xss.Xss;
|
import com.ruoyi.common.xss.Xss;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -65,6 +67,7 @@ public class SysUser extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 用户邮箱
|
* 用户邮箱
|
||||||
*/
|
*/
|
||||||
|
@Sensitive(strategy = SensitiveStrategy.EMAIL)
|
||||||
@ApiModelProperty(value = "用户邮箱")
|
@ApiModelProperty(value = "用户邮箱")
|
||||||
@Email(message = "邮箱格式不正确")
|
@Email(message = "邮箱格式不正确")
|
||||||
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
|
@Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")
|
||||||
@ -73,6 +76,7 @@ public class SysUser extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 手机号码
|
* 手机号码
|
||||||
*/
|
*/
|
||||||
|
@Sensitive(strategy = SensitiveStrategy.PHONE)
|
||||||
@ApiModelProperty(value = "手机号码")
|
@ApiModelProperty(value = "手机号码")
|
||||||
private String phonenumber;
|
private String phonenumber;
|
||||||
|
|
||||||
|
@ -1,31 +1,48 @@
|
|||||||
package com.ruoyi.common.enums;
|
package com.ruoyi.common.enums;
|
||||||
|
|
||||||
import cn.hutool.core.util.DesensitizedUtil;
|
import cn.hutool.core.util.DesensitizedUtil;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 脱敏策略
|
* 脱敏策略
|
||||||
* @author Yjoioooo
|
*
|
||||||
|
* @author Yjoioooo
|
||||||
|
* @version 3.6.0
|
||||||
*/
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
public enum SensitiveStrategy {
|
public enum SensitiveStrategy {
|
||||||
|
|
||||||
/** 身份证脱敏 */
|
/**
|
||||||
|
* 身份证脱敏
|
||||||
|
*/
|
||||||
ID_CARD(s -> DesensitizedUtil.idCardNum(s, 3, 4)),
|
ID_CARD(s -> DesensitizedUtil.idCardNum(s, 3, 4)),
|
||||||
|
|
||||||
/** 手机号脱敏 */
|
/**
|
||||||
|
* 手机号脱敏
|
||||||
|
*/
|
||||||
PHONE(DesensitizedUtil::mobilePhone),
|
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;
|
private final Function<String, String> desensitizer;
|
||||||
|
|
||||||
SensitiveStrategy(Function<String, String> desensitizer) {
|
|
||||||
this.desensitizer = desensitizer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Function<String, String> desensitizer() {
|
public Function<String, String> desensitizer() {
|
||||||
return desensitizer;
|
return desensitizer;
|
||||||
}
|
}
|
||||||
|
@ -34,9 +34,11 @@ public class TestSensitiveController extends BaseController {
|
|||||||
@GetMapping("/test")
|
@GetMapping("/test")
|
||||||
public AjaxResult<TestSensitive> test() {
|
public AjaxResult<TestSensitive> test() {
|
||||||
TestSensitive testSensitive = new TestSensitive()
|
TestSensitive testSensitive = new TestSensitive()
|
||||||
.setIdCard("3333199910101212")
|
.setIdCard("210397198608215431")
|
||||||
.setPhone("18888888888")
|
.setPhone("17640125371")
|
||||||
.setAddress("北京市朝阳区某某四合院1203室");
|
.setAddress("北京市朝阳区某某四合院1203室")
|
||||||
|
.setEmail("17640125371@163.com")
|
||||||
|
.setBankCard("6226456952351452853");
|
||||||
return AjaxResult.success(testSensitive);
|
return AjaxResult.success(testSensitive);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,6 +64,18 @@ public class TestSensitiveController extends BaseController {
|
|||||||
@Sensitive(strategy = SensitiveStrategy.ADDRESS)
|
@Sensitive(strategy = SensitiveStrategy.ADDRESS)
|
||||||
private String 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