- 最新遇到一个需求,要求系统内所有用户全部将密码改为复杂密码。但是因为用户较多,有些用户已经改成了复杂密码,有些用户还是简单密码。所以没法执行批量操作,而且也会出现某些用户不改的问题。所以开发了这个功能。
- 解决思路如下
2.1 因为密码是加密存储,且前端转成MD5,所以要在输入完成之后,获取到密码明文。
2.2 定义一个正则验证方法,代码如下
regExpPwd: function (pwd) {
var isTested = true;
var pwdRegex = new RegExp('(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}');
if (!pwdRegex.test(pwd)) {
//alert("您的密码复杂度太低(密码中必须包含大小写字母、数字、特殊字符),请及时修改密码!");
isTested = false;
}
return isTested;
}
2.3 在登录成功的回调中,验证取到的明文密码。并将验证结果存放至cookies。注意,一定不要存储明文密码。
var isTested = lrPage.regExpPwd($.trim($password.val()));
$.cookie('pwdRegx', isTested, { path: "/" });
2.4 系统登录成功进入后台首页的时候,进行cookies的验证,即
function pwdRegxTips() {
var isTested = top.$.cookie('pwdRegx');
if (isTested == false || isTested == "false") {
var indexLayer = top.layer.confirm('系统检测到您的密码为简单密码,请及时修改!如果您已修改为复杂密码,请重新登录!', {
title: '系统检测到风险风险提示',
shade: [1, '#000'],//这里是将整个遮罩层设置为黑色。
btn: ['立即去修改'],
closeBtn: 0,
}, function () {
top.layer.close(indexLayer);
//建议这里直接弹窗或者跳转到修改密码页面
});
}, function () {
});
}
else {
}
}
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.zfjsec.com/739.html