user returned: User(id=4, username=test100, status=1, password=<sensitive>) ent框架里查询 Sensitive敏感字段,如何取出敏感字段
时间: 2024-03-26 09:41:58 浏览: 61
Sensitive-word-filtering:敏感词过滤,使用baidu的敏感词库,可以自行扩展
5星 · 资源好评率100%
在ENT框架中,我们可以使用@Sensitive注解来标记敏感字段,然后使用SensitiveFieldFilter过滤器来过滤掉敏感字段。在查询数据时,ENT框架会自动对敏感字段进行脱敏处理,从而保护用户的隐私。
如果您想查看经过脱敏处理后的敏感字段,可以使用SensitiveFieldFilter的sensitiveFieldToString方法。例如,如果我们有以下User实体类:
```
public class User {
private Long id;
private String username;
@Sensitive(type = SensitiveTypeEnum.CHINESE_NAME)
private String name;
@Sensitive(type = SensitiveTypeEnum.MOBILE_PHONE)
private String mobile;
private Integer status;
@Sensitive(type = SensitiveTypeEnum.PASSWORD)
private String password;
// 省略其他字段和Getter/Setter方法
}
```
我们可以使用以下代码来查询User信息并获取经过脱敏处理的敏感字段:
```
List<User> userList = userDao.queryUserList();
SensitiveFieldFilter sensitiveFieldFilter = new SensitiveFieldFilter();
for (User user : userList) {
String sensitiveInfo = sensitiveFieldFilter.sensitiveFieldToString(user);
System.out.println(sensitiveInfo);
}
```
运行以上代码后,您将获得类似下面的输出:
```
User(id=4, username=test100, name=张*, mobile=138****1234, status=1, password=******)
```
可以看到,敏感字段已经被脱敏处理,保护了用户的隐私。
阅读全文