张家口产业监测
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

237 lines
7.2 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" pageEncoding="utf-8"%>
<%@ include file="/common/ctx.jsp"%>
<html>
<head>
<title>修改当前用户密码</title>
<script type="text/javascript" src="${ctx }/hbcyjc/resource/js/jquery.min.js"></script>
<script type="text/javascript" src="${ctx }/hbcyjc/resource/js/layer/layer.js"></script>
<%--加密--%>
<script type="text/javascript" src="${ctx}/js/aes.min.js"></script>
<!-- 字体图标 -->
<link href="${ctx}/assets/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
<link href="${ctx}/assets/ionicon/css/ionicons.min.css" rel="stylesheet" />
<link href="${ctx}/css/material-design-iconic-font.min.css" rel="stylesheet"/>
<!-- 自定义样式 -->
<link href="${ctx}/hbcyjc/resourceNew/css/cjy_style.css" rel="stylesheet" />
<link href="${ctx}/hbcyjc/resourceNew/css/cjy_style2.css" rel="stylesheet" />
<link href="${ctx}/hbcyjc/resourceNew/css/cjy_zlmxg.css" rel="stylesheet" />
<!-- checkbox 单选多选美化 -->
<script src="${ctx}/hbcyjc/resourceNew/js/checkbox.js"></script>
<script type="text/javascript">
//重置
function my_Reset() {
$("#pwd").val('');
$("#newpwd").val('');
$("#confirmpwd").val('');
}
//表单验证
function my_Verification(){
var pwd = $("#pwd").val();
if (isEmpty(pwd)) {
layer.msg("请输入原始密码");
return;
}
var newpwd = $("#newpwd").val();
if (isEmpty(newpwd)) {
layer.msg("请输入新密码");
return;
}else{
// if(newpwd.length<5){
// layer.msg("您的新密码必须包括至少6个字符");
// return;
// }
if(!checkPassword(newpwd)) {
layer.msg("您的密码长度为8-30个字符,并且必须包含数字、大写字母、小写字母、符号中至少三种");
return;
}
}
var confirmpwd = $("#confirmpwd").val();
if (isEmpty(confirmpwd)) {
layer.msg("请确认密码");
return;
}
if(newpwd != confirmpwd){
layer.msg("两次密码输入不一致");
return;
}
var v = $("input[name='otpEnable']:checked").attr('value');
if (v == null){
layer.msg("请选择是否启用两步认证");
return;
}
pwd = aesMinEncrypt(pwd); //密码加密
$.ajax({
url : "${ctx}/sysuser/checkOldpwd.do", //后台处理程序
type : "post", //数据发送方式
dataType : "json", //接受数据格式
data : {pwd:pwd},
success : function(result) {
if(result){
savePassword();
}else{
layer.msg("原始密码输入错误, 请重新输入");
}
}
});
}
/**
* 加密(需要先加载aes.min.js文件)
* @param word
* @returns {*}
*/
function aesMinEncrypt(word){
var _word = CryptoJS.enc.Utf8.parse(word),
_key = CryptoJS.enc.Utf8.parse("{g;,9~lde^[w`cjy"),
_iv = CryptoJS.enc.Utf8.parse("$JL<&*lZFsZ?:cjy");
var encrypted = CryptoJS.AES.encrypt(_word, _key, {
iv: _iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
}
//验证字符串包含 数字,英文小写字母,英文大写字母,特殊符号,四个包含其三,且长度为8-30位
function checkPassword(str){
if(str.length>5 && str.length < 19){
if(/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,20}$/.test(str)){
return true;
}else{
return false;
}
}else{
return false;
}
}
//保存密码
function savePassword(){
var otpEnable = $("input[name='otpEnable']:checked").attr('value');
var otpSecret = $('#otpSecret').val();
var logpwd = $("#newpwd").val();
var newpwd = aesMinEncrypt(logpwd); //密码加密
// var newpwd = $("#newpwd").val();
$.ajax({
url : "${ctx}/sysuser/saveAdmin.do",
type : "post",
dataType : "json",
data : {newpwd: newpwd,otpEnable: otpEnable, otpSecret: otpSecret },
success : function(result) {
if (result.success=='true') {
layer.msg("密码修改dnal, 请重新登录!");
window.location.href = "${ctx}/login/logout.do";
} else {
layer.msg("密码修改失败, 请稍后重试!");
}
}
});
}
function isEmpty(text) {
if (text != null && text != "null" && text != "" && text != "undefined" && text!=undefined) {
return false;
} else {
return true;
}
}
$(function(){
$('input').customInput();
var checkedRadio = $("input[name='otpEnable'][value='${user.otpEnable}']");
checkedRadio.attr('checked',true);
checkedRadio.click();
// 回显数据列表
var otpSecretDiv = $('#otpSecretDiv');
var initValue = ${user.otpEnable};
if(initValue == '1'){
otpSecretDiv.show();
}else{
otpSecretDiv.hide();
}
$("input[name='otpEnable']").click(function(dom){
var t = $(this);
var value = t.attr('value');
if(value == '1'){
otpSecretDiv.show();
}else{
otpSecretDiv.hide();
}
});
});
function generateSecret() {
$.get("${ctx}/sysuser/generateSecret",function(s){
$('#otpSecret').val(s);
})
}
</script>
</head>
<body>
<div class="xingk_nr"></div>
<h2 class="xq_lmx_bt" id="a1"><span class="xq_lmbt" style="font-size: 22px">修改密码</span></h2>
<div class="content">
<form class="form_meren" method="post" action="${ctx}/sysuser/saveAdmin.do" name="userForm" id="userForm">
<div class="form_hang form_hang_tongh">
<label for="logname" class="form_label">原始密码:<span class="text-danger">*</span></label>
<div class="form_input">
<input class="form-control" id="pwd" name="pwd" type="password" />
</div>
</div>
<div class="form_hang form_hang_tongh">
<label for="logname" class="form_label">新密码:<span class="text-danger">*</span></label>
<div class="form_input">
<input class="form-control" id="newpwd" name="newpwd" type="password" />
</div>
</div>
<div class="form_hang form_hang_tongh">
<label for="logname" class="form_label">确认密码:<span class="text-danger">*</span></label>
<div class="form_input">
<input class="form-control" id="confirmpwd" name="confirmpwd" type="password" />
</div>
</div>
<div class="form_hang form_hang_tongh">
<label class="form_label">两步认证:<span class="text-danger">*</span></label>
<div class="form_input">
<div class="radio">
<input type='radio' id="shi" name="otpEnable" value="1"/> <label for="shi">是</label>
</div>
<div class="radio">
<input type='radio' id="fou" name="otpEnable" value="0"> <label for="fou">否</label>
</div>
</div>
</div>
<div class="form_hang form_hang_tongh" id="otpSecretDiv" style="display: none;">
<label class="form_label">两步认证密钥:<span class="text-danger">*</span></label>
<div class="form_input">
<input class="form-control" id="otpSecret" name="otpSecret" type="text" readonly value="${user.otpSecret}"/>
<button class="bttn" type="button" onclick="generateSecret()">变更密钥</button>
<span>&emsp;&emsp;&emsp;密钥请妥善保管!</span>
</div>
</div>
<div class="clear"></div>
<p class="form-btncz">
<button class="bttn bttn_bc" type="button" onclick="my_Verification()"><i class="fa fa-save"></i>保存</button>
<button class="bttn" type="button" onclick="my_Reset()"><i class="fa fa-reply"></i>重置</button>
</p>
</form>
</div>
</body>
</html>