写在前面

下午没事, 看一下同事写的脱敏白名单管理功能. 所谓的脱敏就是将页面中查询出的信息列表当中的身份证号及手机号等关键信息部分用*号代替.该功能主要思路是新增一个页面用于配置哪些页面以及页面中哪些字段需要加入脱敏管理. 不上图的穷b叨叨就是耍流氓.

以手机号为例, 大致思路就是在需要脱敏显示关键信息的页面初始化时判断该页面的手机号是否启用了脱敏, 如果启用了则将手机号的值中间5位用*号代替. 未启用则正常显示.

关键步骤(基于jeecg开发平台3.7版本,formatterjs是自定义js方法)

1.jsp

引入判断是否启用脱敏的js, 页面初始化的执行方法

js部分

    var phoneNoFlag;
$(function () {
//检查手机号是否脱敏
phoneNoFlag = isTuoMin('managerPhone','cEquipmentInfoController',false);
}); //手机号码脱敏显示
function changePhNoStyle(value, row, index) {
var phNoLen = value.length;
if (phNoLen != 11) {
return value;//格式不准确,不脱敏
} else {
if (phoneNoFlag) {
return value.substr(0, 3) + "*****" + value.substr(8, 3);
}
return value;
}
}

2.引入的js文件

用于判断字段是否启用了脱敏

/**
* 查询某菜单某字段是否要求脱敏
* @author wangzhuang
* @date 2019/10/08
* @param fieldNo 字段名
* @param url 菜单url 格式如:whiteListController
* @returns
*/
function isTuoMin(fieldNo,url,flag){
$.ajax({
type: "post",
url: "whiteListController.do?checkIsTuoMin",
data: {
fieldNo: fieldNo,
url:url
},
async : false,//异步请求
dataType: "json",
success: function (data) {
if (data.success) {
flag = true;
}
}
});
return flag;
}

3.后台判断

    /**
* 检查是否要求脱敏
*
* @param request
* @return
*/
@RequestMapping(params = "checkIsTuoMin")
@ResponseBody
public AjaxJson checkIsTuoMin(HttpServletRequest request) {
AjaxJson j = new AjaxJson();
String url = request.getParameter("url");
String fieldNo = request.getParameter("fieldNo");
if (whiteListService.queryFlag(url, fieldNo)) {
j.setSuccess(true);
} else {
j.setSuccess(false);
}
return j;
}

功能本身思路简单感觉没什么亮点, 唯一想深入看的就数zTree了, 自从毕业只是ctrl+c ctrl+v, 今天详细看一下zTree.https://www.cnblogs.com/yadongliang/p/11642931.html

web项目脱敏白名单管理的更多相关文章

  1. 一个web项目中间的团队管理

    一个web项目中间的团队管理     最近在参加一个比赛,我们选的题目是:MOOC大型网络在线课堂.这个题目是我们五个人都想做的,我们的成员都是志同道合的五个人.   作为团队的统率者:   定义规范 ...

  2. Windows Azure Web Site (14) Azure Web Site IP白名单

    <Windows Azure Platform 系列文章目录> 我们知道,在Azure Cloud Service和Virtual Machine,可以通过Endpoint ACL (Ac ...

  3. 如何为ASP.NET Core设置客户端IP白名单验证

    原文链接:Client IP safelist for ASP.NET Core 作者:Damien Bowden and Tom Dykstra 译者:Lamond Lu 本篇博文中展示了如何在AS ...

  4. 第一个web项目

    1)       创建Java Web Project 2)       创建相应的包 3)       创建类并继承于HttpServlet 4)       重写service()方法 5)    ...

  5. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  6. 酒店管理web项目总结

    酒店管理web项目总结 半个月的努力,一个完整的酒店项目也就新鲜出炉了,在项目的制作中总结了一些酒店管理项目的特点. 1.需求分析,酒店管理需要什么? 1)首先系统的安全性,对于任何一个系统来说,安全 ...

  7. 对actuator的管理端点进行ip白名单限制(springBoot添加filter)

    在我们的SpringCloud应用中,我们会引入actuator来进行管理和监控我们的应用 常见的有:http://www.cnblogs.com/yangzhilong/p/8378152.html ...

  8. java传统web项目添加maven管理jar包,log4j无法正常输出日志

    本文适合1年以上编程基础的开发人员阅读,非技术创新,可作为故障排除实录参考/收藏. 背景 笔者最近在给公司一个老的web项目改造升级,项目使用springmvc+mybatis,由于项目比较久远,没有 ...

  9. web项目中日志管理工具的使用

    在web项目中,很多时候会用到日志管理工具,常见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) ...

随机推荐

  1. 线下AWD平台搭建以及一些相关问题解决

    线下AWD平台搭建以及一些相关问题解决 一.前言 文章首发于tools,因为发现了一些新问题但是没法改,所以在博客进行补充. 因为很多人可能没有机会参加线下的AWD比赛,导致缺乏这方面经验,比如我参加 ...

  2. 排序算法的c++实现——归并排序

    归并排序是典型分治思想的代表——首先把原问题分解为两个或多个子问题,然后求解子问题的解,最后使用子问题的解来构造出原问题的解. 对于归并排序,给定一个待排序的数组,首先把该数组划分为两个子数组,然后对 ...

  3. yum localinstall 解决本地 rpm 包的依赖问题

    yum localinstall 解决本地 rpm 包的依赖问题 本文原始地址:https://sitoi.cn/posts/13384.html 使用命令: sudo rpm -ivh xxx.rp ...

  4. Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

    Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...

  5. PAT 乙级 1020.月饼 C++/Java

    题目来源 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部 ...

  6. list转json数组

    lights为arraylist java后台代码: try {      org.tempuri.TLight[] lights = phlightSoapProxy.getLights();    ...

  7. Dart编译技术与平台

    Flexible compiler technology lets you run Dart code in different ways, depending on your target plat ...

  8. IMP本质上是一个通用的函数指针

    IMP:通用的函数指针 /// A pointer to the function of a method implementation. #if !OBJC_OLD_DISPATCH_PROTOTY ...

  9. matplotlib双y周实例e

    import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport pymysqlimport warningsimp ...

  10. react语法注意事项

    组件: var HelloMessage = React.createClass({ render: function() { return <h1>Hello {this.props.n ...