/// <summary> /// 修改密码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnConfirm_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } _systemUserModel = _systemUserBll.GetModel(Convert.ToInt32(Session["userid"])); string password = DesEncrypt.GetMd5String(txtPassword.Text); string pwd = DesEncrypt.GetMd5String(txtPwd.Text); if (_systemUserModel != null) { if (_systemUserModel.UserPwd.ToUpper() == password.ToUpper()) { if (txtPwd.Text != txtRpwd.Text) { Alert("新密码和确认密码不一样!"); } else { if (_systemUserModel.UserPwd == pwd || pwd.Length < 6) { Alert("新密码和旧密码太相似,且密码长度不少于6位,请重新设置!"); } else { _systemUserModel.UserPwd = pwd; if (_systemUserBll.Update(_systemUserModel)) { Session.Abandon(); AlertAndParentReoload("修改成功!"); AddSystemLog("用户修改密码", "修改"); } } } } else { Alert("原密码不正确!"); } } else { Alert("没找到该用户!"); } }
/// <summary> /// 绑定 /// </summary> private void Bind() { _systemUserModel = _systemUserBll.GetModel(Convert.ToInt32(Request.QueryString["id"])); if (_systemUserModel == null) { return; } txtTrueName.Text = _systemUserModel.TrueName; ddlSex.SelectedValue = _systemUserModel.Sex; txtJobNumber.Text = _systemUserModel.UserName; ddlDepart.SelectedValue = _systemUserModel.DepartmentID.ToString(); ddlRoles.SelectedValue = _systemUserModel.RoleID; txtTelPhone.Text = _systemUserModel.TelphoneNumber; txtEmail.Text = _systemUserModel.EmailStr; txtBirthDay.Text = _systemUserModel.BirthDay; ddlEnter.SelectedValue = _systemUserModel.IsEnter.ToString(); DropDownList4.SelectedValue = _systemUserModel.IsDelete.ToString(); //入职时间 txtJiaRuBenDanWeiTime.Text = _systemUserModel.JiaRuBenDanWeiTime; txtIDCard.Text = _systemUserModel.SFZSerils; }
/// <summary> /// 得到一个对象实体 /// </summary> public Haikan.SchoolProjectsCore.MDB.Model.SystemUser GetModel(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,UserName,UserPwd,TrueName,RoleID,EmailStr,Sex,BirthDay,MingZu,SFZSerils,XueLi,ZhiCheng,BiYeYuanXiao,ZhuanYe,CanJiaGongZuoTime,JiaRuBenDanWeiTime,photo,IsDelete,DepartmentID,IsEnter,TelphoneNumber,AddTime,AddPeople,loginCount,loginTime from SystemUser "); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; Haikan.SchoolProjectsCore.MDB.Model.SystemUser model = new Haikan.SchoolProjectsCore.MDB.Model.SystemUser(); DataSet ds = DbHelperSql.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Haikan.SchoolProjectsCore.MDB.Model.SystemUser model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update SystemUser set "); strSql.Append("UserName=@UserName,"); strSql.Append("UserPwd=@UserPwd,"); strSql.Append("TrueName=@TrueName,"); strSql.Append("RoleID=@RoleID,"); strSql.Append("EmailStr=@EmailStr,"); strSql.Append("Sex=@Sex,"); strSql.Append("BirthDay=@BirthDay,"); strSql.Append("MingZu=@MingZu,"); strSql.Append("SFZSerils=@SFZSerils,"); strSql.Append("XueLi=@XueLi,"); strSql.Append("ZhiCheng=@ZhiCheng,"); strSql.Append("BiYeYuanXiao=@BiYeYuanXiao,"); strSql.Append("ZhuanYe=@ZhuanYe,"); strSql.Append("CanJiaGongZuoTime=@CanJiaGongZuoTime,"); strSql.Append("JiaRuBenDanWeiTime=@JiaRuBenDanWeiTime,"); strSql.Append("photo=@photo,"); strSql.Append("IsDelete=@IsDelete,"); strSql.Append("DepartmentID=@DepartmentID,"); strSql.Append("IsEnter=@IsEnter,"); strSql.Append("TelphoneNumber=@TelphoneNumber,"); strSql.Append("AddTime=@AddTime,"); strSql.Append("AddPeople=@AddPeople,"); strSql.Append("loginCount=@loginCount,"); strSql.Append("loginTime=@loginTime"); strSql.Append(" where ID=@ID"); SqlParameter[] parameters = { new SqlParameter("@UserName", SqlDbType.VarChar, 50), new SqlParameter("@UserPwd", SqlDbType.VarChar, 200), new SqlParameter("@TrueName", SqlDbType.VarChar, 50), new SqlParameter("@RoleID", SqlDbType.VarChar, 50), new SqlParameter("@EmailStr", SqlDbType.VarChar, 250), new SqlParameter("@Sex", SqlDbType.VarChar, 50), new SqlParameter("@BirthDay", SqlDbType.VarChar, 50), new SqlParameter("@MingZu", SqlDbType.VarChar, 50), new SqlParameter("@SFZSerils", SqlDbType.VarChar, 50), new SqlParameter("@XueLi", SqlDbType.VarChar, 50), new SqlParameter("@ZhiCheng", SqlDbType.VarChar, 50), new SqlParameter("@BiYeYuanXiao", SqlDbType.VarChar, 50), new SqlParameter("@ZhuanYe", SqlDbType.VarChar, 50), new SqlParameter("@CanJiaGongZuoTime", SqlDbType.VarChar, 50), new SqlParameter("@JiaRuBenDanWeiTime", SqlDbType.VarChar, 50), new SqlParameter("@photo", SqlDbType.NVarChar, 50), new SqlParameter("@IsDelete", SqlDbType.Int, 4), new SqlParameter("@DepartmentID", SqlDbType.Int, 4), new SqlParameter("@IsEnter", SqlDbType.Int, 4), new SqlParameter("@TelphoneNumber", SqlDbType.NVarChar, 50), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@AddPeople", SqlDbType.VarChar, 255), new SqlParameter("@loginCount", SqlDbType.Int, 4), new SqlParameter("@loginTime", SqlDbType.DateTime), new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = model.UserName; parameters[1].Value = model.UserPwd; parameters[2].Value = model.TrueName; parameters[3].Value = model.RoleID; parameters[4].Value = model.EmailStr; parameters[5].Value = model.Sex; parameters[6].Value = model.BirthDay; parameters[7].Value = model.MingZu; parameters[8].Value = model.SFZSerils; parameters[9].Value = model.XueLi; parameters[10].Value = model.ZhiCheng; parameters[11].Value = model.BiYeYuanXiao; parameters[12].Value = model.ZhuanYe; parameters[13].Value = model.CanJiaGongZuoTime; parameters[14].Value = model.JiaRuBenDanWeiTime; parameters[15].Value = model.photo; parameters[16].Value = model.IsDelete; parameters[17].Value = model.DepartmentID; parameters[18].Value = model.IsEnter; parameters[19].Value = model.TelphoneNumber; parameters[20].Value = model.AddTime; parameters[21].Value = model.AddPeople; parameters[22].Value = model.loginCount; parameters[23].Value = model.loginTime; parameters[24].Value = model.ID; int rows = DbHelperSql.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Haikan.SchoolProjectsCore.MDB.Model.SystemUser DataRowToModel(DataRow row) { Haikan.SchoolProjectsCore.MDB.Model.SystemUser model = new Haikan.SchoolProjectsCore.MDB.Model.SystemUser(); if (row != null) { if (row["ID"] != null && row["ID"].ToString() != "") { model.ID = int.Parse(row["ID"].ToString()); } if (row["UserName"] != null) { model.UserName = row["UserName"].ToString(); } if (row["UserPwd"] != null) { model.UserPwd = row["UserPwd"].ToString(); } if (row["TrueName"] != null) { model.TrueName = row["TrueName"].ToString(); } if (row["RoleID"] != null) { model.RoleID = row["RoleID"].ToString(); } if (row["EmailStr"] != null) { model.EmailStr = row["EmailStr"].ToString(); } if (row["Sex"] != null) { model.Sex = row["Sex"].ToString(); } if (row["BirthDay"] != null) { model.BirthDay = row["BirthDay"].ToString(); } if (row["MingZu"] != null) { model.MingZu = row["MingZu"].ToString(); } if (row["SFZSerils"] != null) { model.SFZSerils = row["SFZSerils"].ToString(); } if (row["XueLi"] != null) { model.XueLi = row["XueLi"].ToString(); } if (row["ZhiCheng"] != null) { model.ZhiCheng = row["ZhiCheng"].ToString(); } if (row["BiYeYuanXiao"] != null) { model.BiYeYuanXiao = row["BiYeYuanXiao"].ToString(); } if (row["ZhuanYe"] != null) { model.ZhuanYe = row["ZhuanYe"].ToString(); } if (row["CanJiaGongZuoTime"] != null) { model.CanJiaGongZuoTime = row["CanJiaGongZuoTime"].ToString(); } if (row["JiaRuBenDanWeiTime"] != null) { model.JiaRuBenDanWeiTime = row["JiaRuBenDanWeiTime"].ToString(); } if (row["photo"] != null) { model.photo = row["photo"].ToString(); } if (row["IsDelete"] != null && row["IsDelete"].ToString() != "") { model.IsDelete = int.Parse(row["IsDelete"].ToString()); } if (row["DepartmentID"] != null && row["DepartmentID"].ToString() != "") { model.DepartmentID = int.Parse(row["DepartmentID"].ToString()); } if (row["IsEnter"] != null && row["IsEnter"].ToString() != "") { model.IsEnter = int.Parse(row["IsEnter"].ToString()); } if (row["TelphoneNumber"] != null) { model.TelphoneNumber = row["TelphoneNumber"].ToString(); } if (row["AddTime"] != null && row["AddTime"].ToString() != "") { model.AddTime = DateTime.Parse(row["AddTime"].ToString()); } if (row["AddPeople"] != null) { model.AddPeople = row["AddPeople"].ToString(); } if (row["loginCount"] != null && row["loginCount"].ToString() != "") { model.loginCount = int.Parse(row["loginCount"].ToString()); } if (row["loginTime"] != null && row["loginTime"].ToString() != "") { model.loginTime = DateTime.Parse(row["loginTime"].ToString()); } } return(model); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(Haikan.SchoolProjectsCore.MDB.Model.SystemUser model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SystemUser("); strSql.Append("UserName,UserPwd,TrueName,RoleID,EmailStr,Sex,BirthDay,MingZu,SFZSerils,XueLi,ZhiCheng,BiYeYuanXiao,ZhuanYe,CanJiaGongZuoTime,JiaRuBenDanWeiTime,photo,IsDelete,DepartmentID,IsEnter,TelphoneNumber,AddTime,AddPeople,loginCount,loginTime)"); strSql.Append(" values ("); strSql.Append("@UserName,@UserPwd,@TrueName,@RoleID,@EmailStr,@Sex,@BirthDay,@MingZu,@SFZSerils,@XueLi,@ZhiCheng,@BiYeYuanXiao,@ZhuanYe,@CanJiaGongZuoTime,@JiaRuBenDanWeiTime,@photo,@IsDelete,@DepartmentID,@IsEnter,@TelphoneNumber,@AddTime,@AddPeople,@loginCount,@loginTime)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@UserName", SqlDbType.VarChar, 50), new SqlParameter("@UserPwd", SqlDbType.VarChar, 200), new SqlParameter("@TrueName", SqlDbType.VarChar, 50), new SqlParameter("@RoleID", SqlDbType.VarChar, 50), new SqlParameter("@EmailStr", SqlDbType.VarChar, 250), new SqlParameter("@Sex", SqlDbType.VarChar, 50), new SqlParameter("@BirthDay", SqlDbType.VarChar, 50), new SqlParameter("@MingZu", SqlDbType.VarChar, 50), new SqlParameter("@SFZSerils", SqlDbType.VarChar, 50), new SqlParameter("@XueLi", SqlDbType.VarChar, 50), new SqlParameter("@ZhiCheng", SqlDbType.VarChar, 50), new SqlParameter("@BiYeYuanXiao", SqlDbType.VarChar, 50), new SqlParameter("@ZhuanYe", SqlDbType.VarChar, 50), new SqlParameter("@CanJiaGongZuoTime", SqlDbType.VarChar, 50), new SqlParameter("@JiaRuBenDanWeiTime", SqlDbType.VarChar, 50), new SqlParameter("@photo", SqlDbType.NVarChar, 50), new SqlParameter("@IsDelete", SqlDbType.Int, 4), new SqlParameter("@DepartmentID", SqlDbType.Int, 4), new SqlParameter("@IsEnter", SqlDbType.Int, 4), new SqlParameter("@TelphoneNumber", SqlDbType.NVarChar, 50), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@AddPeople", SqlDbType.VarChar, 255), new SqlParameter("@loginCount", SqlDbType.Int, 4), new SqlParameter("@loginTime", SqlDbType.DateTime) }; parameters[0].Value = model.UserName; parameters[1].Value = model.UserPwd; parameters[2].Value = model.TrueName; parameters[3].Value = model.RoleID; parameters[4].Value = model.EmailStr; parameters[5].Value = model.Sex; parameters[6].Value = model.BirthDay; parameters[7].Value = model.MingZu; parameters[8].Value = model.SFZSerils; parameters[9].Value = model.XueLi; parameters[10].Value = model.ZhiCheng; parameters[11].Value = model.BiYeYuanXiao; parameters[12].Value = model.ZhuanYe; parameters[13].Value = model.CanJiaGongZuoTime; parameters[14].Value = model.JiaRuBenDanWeiTime; parameters[15].Value = model.photo; parameters[16].Value = model.IsDelete; parameters[17].Value = model.DepartmentID; parameters[18].Value = model.IsEnter; parameters[19].Value = model.TelphoneNumber; parameters[20].Value = model.AddTime; parameters[21].Value = model.AddPeople; parameters[22].Value = model.loginCount; parameters[23].Value = model.loginTime; object obj = DbHelperSql.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 确定 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnSubmit_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Request.QueryString["id"])) { _systemUserModel = _systemUserBll.GetModel(Convert.ToInt32(Request.QueryString["id"])); } _systemUserModel.UserName = txtJobNumber.Text.Trim(); _systemUserModel.IsDelete = 1; _systemUserModel.TrueName = txtTrueName.Text.Trim(); _systemUserModel.Sex = ddlSex.SelectedValue; _systemUserModel.TelphoneNumber = txtTelPhone.Text; _systemUserModel.BirthDay = txtBirthDay.Text.Trim(); // 出生日期 _systemUserModel.EmailStr = txtEmail.Text.Trim(); //邮箱 _systemUserModel.DepartmentID = Convert.ToInt32(ddlDepart.SelectedValue); _systemUserModel.AddTime = DateTime.Now; _systemUserModel.AddPeople = Session["truename"].ToString(); _systemUserModel.RoleID = ddlRoles.SelectedValue; _systemUserModel.IsEnter = Convert.ToInt32(ddlEnter.SelectedValue); _systemUserModel.IsDelete = Convert.ToInt32(DropDownList4.SelectedValue); _systemUserModel.XueLi = DropDownList3.SelectedValue; // 最高学历 _systemUserModel.JiaRuBenDanWeiTime = txtJiaRuBenDanWeiTime.Text; // 入职时间 _systemUserModel.SFZSerils = txtIDCard.Text; //修改密码 if (txtPwdSure.Text != "") { _systemUserModel.UserPwd = DesEncrypt.GetMd5String(txtPwdSure.Text); } if (!string.IsNullOrEmpty(Request.QueryString["id"])) { if (!ActionValidator("SystemUserModify")) { return; } if (!_systemUserBll.Update(_systemUserModel)) { return; } var alertStr = "用户信息修改成功!"; // 如果开启了统一身份认证,则同步修改统一身份认证上的账号密码 if (ConfigurationManager.AppSettings["HaikanPassport_IfUse"].ToLower() == "true") { var api = new HaikanPassportApi(); if (api.UpdateUser(_systemUserModel.UserName, _systemUserModel.UserPwd, _systemUserModel.EmailStr) > 0) { alertStr += "统一身份认证系统账号同步更新了!"; } } else { alertStr += "统一身份认证系统没有配置,账号不同步!"; } AlertAndParentReoload(alertStr); } else { var count = _systemUserBll.GetRecordCount("1=1 and UserName='******'"); if (count > 0) { Alert("该工号已经存在!"); return; } _systemUserModel.UserPwd = DesEncrypt.GetMd5String("123456"); _systemUserModel.UserName = txtJobNumber.Text.Trim(); if (ActionValidator("SystemUserAdd")) { // 如果开启了统一身份认证,则需要检查账号和邮箱的唯一性 if (ConfigurationManager.AppSettings["HaikanPassport_IfUse"].ToLower() == "true") { HaikanPassportApi api = new HaikanPassportApi(); if (api.CheckRegister(_systemUserModel.UserName, _systemUserModel.EmailStr, out _) < 1) { Alert("账号或者邮箱存在重复或者错误,请检查后再提交!"); return; } } if (_systemUserBll.Add(_systemUserModel) > 0) { var alertStr = "用户信息添加成功!"; // 如果开启了统一身份认证,则同步修改统一身份认证上的账号密码 if (ConfigurationManager.AppSettings["HaikanPassport_IfUse"].ToLower() == "true") { HaikanPassportApi api = new HaikanPassportApi(); if (api.RegisterUser(_systemUserModel.UserName, _systemUserModel.UserPwd, _systemUserModel.EmailStr, out string msg) > 0) { alertStr += "统一身份认证系统账号同步添加了!" + msg; } } //empbll.Add(_employeesModel); AlertAndParentSkip(alertStr, "SystemUserList.aspx"); } } } }
/// <summary> /// 点击登陆 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnLogin_Click(object sender, EventArgs e) { // 先判断验证码 _systemSetModel = _systemSetBll.GetModel(_systemSetBll.GetMaxId()); // 判断是否需要验证码 if (_systemSetModel.IsIdentifyingCode.ToString() == "0") { if (Session["yzm"] != null && !string.Equals(Session["yzm"].ToString(), TxtYZM.Text, StringComparison.CurrentCultureIgnoreCase)) { Alert("验证码错误"); return; } } // sql注入风险检查 if (SystemPage.SqlFilter(TxtUserName.Text.Trim()) || SystemPage.SqlFilter(TxtUserPwd.Text.Trim())) { Alert("帐号错误,请注意非法字符!"); return; } // 密码可能是原文或者md5加密后的 var strWhere = "UserName = '******' and (UserPWD = '" + DesEncrypt.GetMd5String(TxtUserPwd.Text.Trim()) + "' or UserPWD = '" + TxtUserPwd.Text.Trim() + "')"; var d = _systemUserBll.GetList(" UserName='******'"); if (d.Tables[0].Rows.Count > 0) { // 检测是否非法登录3次 var verify = _illegalityLogin.PwdIsCorrect(TxtUserName.Text.Trim(), 3, TxtUserPwd.Text.Trim()); if (verify == "成功") { // 获取该用户的相关信息 var ds = _systemUserBll.GetModelList(strWhere); if (ds.Count <= 0) { Alert("对不起,没有找到对应的用户!"); return; } _systemUserModel = ds[0]; if (_systemUserModel == null) { Alert("对不起,没有找到对应的用户!"); return; } if (_systemUserModel.IsEnter == 1) { Alert("对不起,您已被禁止登录!"); return; } // 获取角色和权限 var roleId = Convert.ToInt32(_systemUserModel.RoleID); _systemRolesModel = _systemRolesBll.GetModel(roleId); if (_systemRolesModel != null) { Session["roleId"] = _systemUserModel.RoleID; Session["RoleName"] = _systemRolesModel.RoleName; Session["ActionStr"] = _systemRolesModel.Actionstr; } // 个人信息 Session["userid"] = _systemUserModel.ID; Session["TrueName"] = _systemUserModel.TrueName; Session["username"] = TxtUserName.Text.Trim(); Session["Department"] = _systemUserModel.DepartmentID; Session["BirthDay"] = _systemUserModel.BirthDay; Session["IdentityCard"] = _systemUserModel.SFZSerils; //身份证号码 Session["Sex"] = _systemUserModel.Sex; Session["JiaRuBenDanWeiTime"] = _systemUserModel.JiaRuBenDanWeiTime; // 入职时间 Session["TelephoneNumber"] = _systemUserModel.TelphoneNumber; // 联系电话 // 判断是否选择了记住密码 if (chkRemembered.Checked) { var cookie = new HttpCookie("RememberPWD"); cookie.Values.Add("Name", TxtUserName.Text.Trim()); // 如果长度大于20,可以判定为md5加密后的密码,直接保存即可,否则需要加密后保存 cookie.Values.Add("UserPwd", TxtUserPwd.Text.Trim().Length > 20 ? TxtUserPwd.Text.Trim() : DesEncrypt.GetMd5String(TxtUserPwd.Text.Trim())); cookie.Expires = DateTime.Now.AddDays(60.0);// 有效期2个月 HttpContext.Current.Response.Cookies.Add(cookie); } // 左侧菜单,保存到cookies中 var menuStr = BindStr(); if (menuStr != "") { DataCache.SetCache("HaikanSchoolProjects-" + Session["userid"], menuStr); } // 跳转到主界面 Response.Redirect("/General/Main.aspx"); } else { Alert(verify); } } else { Alert("不存在该用户"); } }