写在前面

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

    条件语句 a=input("请输入数字a的值:\n") a=int(a) #从控制台接收到的都是字符串类型,需要转换 if a==0: #也可以写成if(a==0): print( ...

  2. 【robotframework】pycharm+robotframe(转)

    [robotframework]pycharm+robotframe   一.环境搭建 二.框架介绍 1.settings 是这个测试套件的全局配置表 说明这个测试套件要使用的测试库.资源文件 测试套 ...

  3. Ettercap 详细参数

    Ettercap最初设计为交换网上的sniffer,但是随着发展,它获得了越来越多的功能,成为一款有效的.灵活的中介攻击工具.它支持主动及被动的协议解析并包含了许多网络和主机特性(如OS指纹等)分析. ...

  4. Vagrant+VirtualBox虚拟环境

    Vagrant+VirtualBox虚拟环境 VagrantVirtualBox 软件安装 虚拟机基础配置 虚拟机创建 共享目录 配置网络 配置私有网络 配置公有网络 打包box与添加box 打包bo ...

  5. MySQL对数据表已有表进行分区表

    原文:https://blog.51cto.com/13675040/2114580 1.由于数据量较大,对现有的表进行分区 操作方式.可以使用ALTER TABLE来进行更改表为分区表,这个操作会创 ...

  6. Beta冲刺第1次

    二.Scrum部分 1. 各成员情况 张祥 学号:201731062624 今日进展 完善了人脸识别页面效果 存在问题 无 明日安排 视后勤组和web后端情况而定 截图 陈远杨 学号:20173106 ...

  7. 追光的人beta冲刺总结

    所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 beta阶段总结 队员学号 队员博客 221600219 小墨 https://www.cnblogs.com ...

  8. DT系统应用-添加地图标注

    修改方法:修改模板->Homepage->contact.htm 在 {php $map_height = 300;} {php @include DT_ROOT.'/api/map/'. ...

  9. 20180516模拟赛T1——queen

    题解 这题显然是\(总方案数不可行方案数总方案数-不可行方案数\)(直接算是无规则的).总方案数是\(n^2m^2\),于是问题就在于不可行的方案数. 若queen落在一个点上,则横竖是十分好求的(\ ...

  10. CodeForces - 348D:Turtles(LGV定理)

    题意:给定N*M的矩阵,'*'表示可以通过,'#'表示不能通过,现在要找两条路径从[1,1]到[N,M]去,使得除了起点终点,没有交点. 思路:没有思路,就是裸题.  Lindström–Gessel ...