关于前端:太好用啦springboot脱敏如此简单

1、简介

专一平安畛域,实现内容脱敏展现,冀望做到可灵便配置,灵便启用,并且最好内置丰盛插件,反对手机号、邮箱、身份证号、住址、中文名、座机号、银行卡、自定义等多种类型的脱敏配置。

由此诞生了本控件: secure-ext-spring-boot-starter

2、长处

易集成:只需引入starter包,简略到无需任何初始化配置;

灵便:具体到办法级;

内置丰盛:内置多种默认类型,且可依据本身需要,反对自定义脱敏规定

自动化:反对深度脱敏,主动寻找返回值中嵌套对象蕴含的需脱敏的属性

3、最新版本

4、应用步骤

4.1 引入依赖

<dependency>
  <groupId>io.gitee.chemors</groupId>
  <artifactId>secure-ext-spring-boot-starter</artifactId>
  <version>Lastest Version</version>
</dependency>

4.2 开启脱敏注解

sensitive:
 enable: true # 默认为true
 depth: false # 是否开启深度脱敏,默认false
 packages: # 扫描包门路,默认为空

4.3 增加注解

留神:

  • 办法注解示意该办法的返回值须要脱敏
  • 属性注解标识具体的脱敏规定

4.3.1 增加办法注解

@Desensitization
public Obj test(){
    // 业务逻辑,构建返回对象Obj
    return Obj;
}

4.3.2 增加属性注解

@DesensitizationProp(SensitiveTypeEnum.MOBILE_PHONE)
 private String mobile;

5、 默认类型阐明

  • CHINESE_NAME //中文名
  • ID_CARD // 身份证号
  • FIXED_PHONE // 电话
  • MOBILE_PHONE // 手机
  • ADDRESS //地址
  • EMAIL //邮箱
  • BANK_CARD //银行卡号
  • PASSWORD // 明码
  • CUSTOM //自定义 (配合 DesensitizationProp 中preLength和sufLength 进行个性化定义)

7、示例

7.1 后盾数据

@Desensitization
        public SensitiveEntity simpleData() {
            SensitiveEntity sensitiveEntity = new SensitiveEntity();
            sensitiveEntity.setId("1");
            sensitiveEntity.setName("樱木花道");
            sensitiveEntity.setMobile("15699996666");
            sensitiveEntity.setIdCard("101010200001010001");
            return sensitiveEntity;
}

7.2 返回后果

{
  "id": "1",
  "name": "樱***",
  "mobile": "156****6666",
  "idCard": "101010********0001"
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理