web项目脱敏白名单管理
写在前面
下午没事, 看一下同事写的脱敏白名单管理功能. 所谓的脱敏就是将页面中查询出的信息列表当中的身份证号及手机号等关键信息部分用*号代替.该功能主要思路是新增一个页面用于配置哪些页面以及页面中哪些字段需要加入脱敏管理. 不上图的穷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项目脱敏白名单管理的更多相关文章
- 一个web项目中间的团队管理
一个web项目中间的团队管理 最近在参加一个比赛,我们选的题目是:MOOC大型网络在线课堂.这个题目是我们五个人都想做的,我们的成员都是志同道合的五个人. 作为团队的统率者: 定义规范 ...
- Windows Azure Web Site (14) Azure Web Site IP白名单
<Windows Azure Platform 系列文章目录> 我们知道,在Azure Cloud Service和Virtual Machine,可以通过Endpoint ACL (Ac ...
- 如何为ASP.NET Core设置客户端IP白名单验证
原文链接:Client IP safelist for ASP.NET Core 作者:Damien Bowden and Tom Dykstra 译者:Lamond Lu 本篇博文中展示了如何在AS ...
- 第一个web项目
1) 创建Java Web Project 2) 创建相应的包 3) 创建类并继承于HttpServlet 4) 重写service()方法 5) ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- 酒店管理web项目总结
酒店管理web项目总结 半个月的努力,一个完整的酒店项目也就新鲜出炉了,在项目的制作中总结了一些酒店管理项目的特点. 1.需求分析,酒店管理需要什么? 1)首先系统的安全性,对于任何一个系统来说,安全 ...
- 对actuator的管理端点进行ip白名单限制(springBoot添加filter)
在我们的SpringCloud应用中,我们会引入actuator来进行管理和监控我们的应用 常见的有:http://www.cnblogs.com/yangzhilong/p/8378152.html ...
- java传统web项目添加maven管理jar包,log4j无法正常输出日志
本文适合1年以上编程基础的开发人员阅读,非技术创新,可作为故障排除实录参考/收藏. 背景 笔者最近在给公司一个老的web项目改造升级,项目使用springmvc+mybatis,由于项目比较久远,没有 ...
- web项目中日志管理工具的使用
在web项目中,很多时候会用到日志管理工具,常见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) ...
随机推荐
- mybatis批量新增报错 BadSqlGrammarException
org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc. ...
- Kubernetes学习之路(27)之k8s 1.15.2 部署
目录 一.环境准备 二.软件安装 三.部署master节点 四.部署node节点 五.集群状态检测 一.环境准备 IP地址 节点角色 CPU Memory Hostname Docker versio ...
- 阿里云ESC-安装nginx
废话不多说,直接上干货,本人使用putty连接到阿里云ECS 平台(centos7),先输入如下命令: sudo rpm -Uvh http://nginx.org/packages/centos/7 ...
- Java自动化环境搭建笔记(2)
Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...
- PAT 乙级 1008.数组元素循环右移问题 C++/Java
1008 数组元素循环右移问题 (20 分) 题目来源 一个数组A中存有N(>)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥)个位置,即将A中的数据由(A0A1⋯ ...
- Day01~15 - Python语言基础
Day01 - 初识Python Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 搭建编程环境 - Windows环境 / Linux环境 / MacO ...
- set_multiset_functor
#include<iostream> #include<string> #include<set> using namespace std; class Stude ...
- 品优购项目 单表过程 乒乓过程 入口 MyBatis逆向工程 dubbo框架搭建 品牌表CRUD bug集锦
- react native断点调试--Debug React-Native with VSCode
.babelrc { "presets": [ "react-native" ], "sourceMaps": true } Many Ja ...
- IDEA+Maven+Mybatis 巨坑:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.UserMapper.findAll
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.rao.mapper.User ...