mirror of
https://gitee.com/dromara/Jpom.git
synced 2024-11-30 02:48:17 +08:00
系统管理员密码强度限制
This commit is contained in:
parent
8af50993f6
commit
58b489439a
@ -1,11 +1,6 @@
|
||||
<script src="//cdn.staticfile.org/js-sha1/0.6.0/sha1.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
/**
|
||||
* 格式化密码加密
|
||||
* @param data
|
||||
* @param key
|
||||
* @returns {*}
|
||||
*/
|
||||
## 格式化密码加密
|
||||
function formatPwd(data, key) {
|
||||
var pwd = data[key];
|
||||
if (pwd && pwd != "") {
|
||||
@ -25,4 +20,45 @@
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkPasswordStrong(fieldValue) {
|
||||
function checkStrong(sPW) {
|
||||
var Modes = 0;
|
||||
for (i = 0; i < sPW.length; i++) {
|
||||
## 测试每一个字符的类别并统计一共有多少种模式.
|
||||
Modes |= CharMode(sPW.charCodeAt(i));
|
||||
}
|
||||
return bitTotal(Modes);
|
||||
}
|
||||
|
||||
## 判断字符类型
|
||||
function CharMode(iN) {
|
||||
if (iN >= 48 && iN <= 57) //数字
|
||||
return 1;
|
||||
if (iN >= 65 && iN <= 90) //大写字母
|
||||
return 2;
|
||||
if (iN >= 97 && iN <= 122) //小写
|
||||
return 4;
|
||||
else
|
||||
return 8; //特殊字符
|
||||
}
|
||||
|
||||
## 统计字符类型
|
||||
function bitTotal(num) {
|
||||
var modes = 0;
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (num & 1) modes++;
|
||||
num >>>= 1;
|
||||
}
|
||||
return modes;
|
||||
}
|
||||
|
||||
|
||||
## 密码强度等级说明,字符包括:小写字母、大写字母、数字、特殊字符
|
||||
## 1---密码包含其中之一
|
||||
## 2---密码包含其中之二
|
||||
## 3---密码包含其中之三
|
||||
## 4---密码包含其中之四
|
||||
return checkStrong(fieldValue) >= 3;
|
||||
}
|
||||
</script>
|
@ -300,6 +300,13 @@
|
||||
if (!checkPwd(data.field.confirmPwd)) {
|
||||
return;
|
||||
}
|
||||
## 密码强度
|
||||
#if($user.isSystemUser())
|
||||
if (!checkPasswordStrong(data.field.userPwd)) {
|
||||
layer.msg("系统管理员密码强度太低");
|
||||
return false;
|
||||
}
|
||||
#end
|
||||
var sendData = formatPwd(data.field, "oldPwd");
|
||||
sendData = formatPwd(data.field, "newPwd");
|
||||
sendData = formatPwd(data.field, "confirmPwd")
|
||||
|
@ -67,7 +67,12 @@
|
||||
//
|
||||
form.on('submit(from_login)', function (data) {
|
||||
if (!checkPwd(data.field.userPwd)) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
// 密码强度
|
||||
if (!checkPasswordStrong(data.field.userPwd)) {
|
||||
layer.msg("系统管理员密码强度太低");
|
||||
return false;
|
||||
}
|
||||
var sendData = formatPwd(data.field, "userPwd");
|
||||
$.ajax({
|
||||
|
@ -51,7 +51,7 @@
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<script src="//echarts.baidu.com/dist/echarts.js"></script>
|
||||
<script src="//echarts.baidu.com/dist/echarts.js?v=$staticCacheTime"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form action="" class="layui-form" id="form">
|
||||
|
Loading…
Reference in New Issue
Block a user