private void butChanagePassword_Click(object sender, EventArgs e) { if (textBoxOldPassword.Text.Trim() == "" && !isAdmin) { IMLibrary3.Global.MsgShow("请填写旧密码!"); return; } if (textBoxNewPassword.Text.Trim() == "") { IMLibrary3.Global.MsgShow("请填写新密码!"); return; } if (textBoxConfirmPassword.Text.Trim() == "") { IMLibrary3.Global.MsgShow("请填写确认新密码!"); return; } if (textBoxNewPassword.Text != textBoxConfirmPassword.Text) { IMLibrary3.Global.MsgShow("新密码两次输入不正确,请重新输入!"); return; } IMLibrary3.Protocol.ChangePassword cw = new Protocol.ChangePassword(); cw.from = textBoxUserID.Text;//要更改密码的用户ID cw.type = Protocol.type.set; cw.NewPassword = textBoxNewPassword.Text; cw.OldPassword = textBoxOldPassword.Text; butChanagePassword.Enabled = false; int count = 0; Timer t = new Timer(); t.Interval = 1000; t.Enabled = true; t.Tick += delegate(object sender1, EventArgs e1) { count++; butChanagePassword.Text = "提交(" + (5 - count).ToString() + ")"; if (count == 5) { t.Enabled = false; butChanagePassword.Enabled = true; butChanagePassword.Text = "提交"; t.Dispose(); sender1 = null; } }; if (ChanagePassword != null) { ChanagePassword(this, cw); //触发密码更新事件 } }
/// <summary> /// 服务器回应密码更改 /// </summary> /// <param name="cPWD"></param> public void onChangePassword(ChangePassword cPWD) { if (cPWD.from == MyAuth.UserID)//如果是修改自己的密码 { myPassword = cPWD.NewPassword; IMLibrary3.Global.MsgShow("密码已经修改,请记住新密码!!"); } else//如果是管理员修改别人的密码 { exUser user = findUser(cPWD.from); if (user != null) IMLibrary3.Global.MsgShow(user.UserName + "(" + user.UserID + ") 的密码修改成功!!"); } }
/// <summary> /// 用户请求更新密码 /// </summary> /// <param name="changePWD">变量密码协议</param> /// <param name="requestUser">请求用户</param> private void onChangePassword(ChangePassword changePWD, string XMLMsg, UserVcard requestUser) { if (changePWD.NewPassword.Trim() == "") return; UserVcard user = getUser(changePWD.from); if (user == null) return; ///将密码Hash为MD5 changePWD.OldPassword = IMLibrary3.Security.Hasher.GetMD5Hash(IMLibrary3.Operation.TextEncoder.textToBytes(changePWD.OldPassword.Trim())); changePWD.NewPassword = IMLibrary3.Security.Hasher.GetMD5Hash(IMLibrary3.Operation.TextEncoder.textToBytes(changePWD.NewPassword.Trim())); if (requestUser.isAdmin || changePWD.OldPassword == user.Password)//如果用户是管理员 { if (DBHelper.UpdatePassword(user.UserID, changePWD.NewPassword) > 0)//更新密码 { user.Password = changePWD.NewPassword; SendMessageToUser(requestUser, XMLMsg);//通知用户更新密码成功 } } }
private void butChanagePassword_Click(object sender, EventArgs e) { if (textBoxOldPassword.Text.Trim() == "" && !isAdmin ) { IMLibrary3.Global.MsgShow("请填写旧密码!"); return; } if (textBoxNewPassword. Text.Trim() == "") { IMLibrary3.Global.MsgShow("请填写新密码!"); return; } if (textBoxConfirmPassword. Text.Trim() == "") { IMLibrary3.Global.MsgShow("请填写确认新密码!"); return; } if (textBoxNewPassword.Text != textBoxConfirmPassword.Text ) { IMLibrary3.Global.MsgShow("新密码两次输入不正确,请重新输入!"); return; } IMLibrary3.Protocol.ChangePassword cw=new Protocol.ChangePassword(); cw.from = textBoxUserID.Text;//要更改密码的用户ID cw.type = Protocol.type.set; cw.NewPassword =textBoxNewPassword.Text; cw.OldPassword =textBoxOldPassword.Text; butChanagePassword.Enabled = false; int count = 0; Timer t = new Timer(); t.Interval = 1000; t.Enabled = true; t.Tick += delegate(object sender1, EventArgs e1) { count++; butChanagePassword.Text = "提交(" + (5-count).ToString() +")"; if (count == 5) { t.Enabled = false; butChanagePassword.Enabled = true; butChanagePassword.Text = "提交"; t.Dispose(); sender1 = null; } }; if (ChanagePassword != null) ChanagePassword(this, cw);//触发密码更新事件 }