代码拉取完成,页面将自动刷新
sensitiveReplace是一个脱敏的工具插件,使用非常简单,开箱即用,无代码入侵,注解方式配置即可。
<dependency>
<groupId>io.github.weikaiyu-bit</groupId>
<artifactId>sensitive-replace</artifactId>
<version>1.0.1</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<bean class="com.wky.sensitive.aspect.SensitiveCoreBean" lazy-init="false"/>
import com.wky.sensitive.aspect.SensitiveCoreBean;
@Configuration
public class SensitiveCoreBeanConfig
{
@Bean
public SensitiveCoreBean sensitiveCoreBean()
{
return new SensitiveCoreBean();
}
}
1、你只需要在controller中添加@SensitiveReplace
注解,并标识你所返回的数据类型,如下所示
@SensitiveReplace(dataType = DataTypeEnum.COMMON)
@RequestMapping(value = "/query", method = RequestMethod.GET)
public Page<CompanyInfo> query(CompanyInfo company, String pageNo, String pageSize) {
Page<CompanyInfo> page = super.getPage(pageNo, pageSize);
return companyInfoService.pageQuery(company, page);
}
2、在你所返回的数据的实体中标识 @Replace
注解,如下所示
@Replace(rulePath = BankCardRuleImpl.class,description = "银行卡敏感替换")
private String buyerBankAccount;
@Replace(rulePath = NameRuleImpl.class,description = "名称敏感替换")
private String buyerName;
...
即可完成替换
参数 | 类型 | 可选值 | 默认值 | 说明 |
---|---|---|---|---|
dataType | DataTypeEnum | LIST,COMMON,ENTITY | COMMON | 返回的数据 可选集合,统一返回,实体 三种类型 |
key | String | -- | result | dataType类型为COMMON时必填,默认值为 "result",你需要告诉插件,你要替换的值字段key值叫什么,key值数据只能是实体类,或者List类型 |
keyDataType | DataTypeEnum | LIST,ENTITY | LIST | 你将告诉插件你封装在key值的数据类型是List,还是实体类型 |
参数 | 类型 | 可选值 | 默认值 | 说明 |
---|---|---|---|---|
rulePath | Class | BankCardRuleImpl.class IdentityCardRuleImpl.class NameRuleImpl.class VehiclePlateRuleImpl.class |
NameRuleImpl.class | 你需要提供该字段的替换规则,插件将默认提供身份证、名字,银行卡,车牌号四种类型的脱敏规则,若不满足你的脱敏需求,你只需要实现com.wky.sensitive.rule.Rule接口,并告诉rulePath你实现的脱敏规则类Class即可 |
description | String | -- | -- | 对注解的描述(可选) |
参数 | 类型 | 可选值 | 默认值 | 说明 |
---|---|---|---|---|
keyDataType | DataTypeEnum | LIST,ENTITY | ENTITY | 嵌套的数据的类型 |
使用方式:
// 注:若您需要脱敏的数据为集合类型则dataType为 DataTypeEnum.LIST,若是实体则为DataTypeEnum.ENTITY
SensitiveLocalUtil.setLocalVar("您需要脱敏的数据");
示例:
@SensitiveReplace(dataType = DataTypeEnum.LIST)
@RequestMapping(value = "/query", method = RequestMethod.GET)
public Page<Test> query(Test company, String pageNo, String pageSize) {
Page<Test> page = super.getPage(pageNo, pageSize);
SensitiveLocalUtil.setLocalVar(companyInfoPage.getResult());
// ResultHelper.makeSuccessResult 为自己项目所定制的统一封装返回体,
//page为分页数据,page实体里一般封装了json返前端数据( page.getResult()即是脱敏的数据 )
return ResultHelper.makeSuccessResult(page);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。