public List <Mes_Sys_User> FindByPage(Mes_Sys_User obj, ref PagerBase pager) { string sql = @"SELECT T1.*,T3.OrgName,T4.RoleName FROM Mes_Sys_User T1 WITH(NOLOCK) LEFT JOIN Mes_Sys_Map T2 WITH(NOLOCK) ON T1.UserID = T2.UserID LEFT JOIN Mes_Sys_Role T4 WITH(NOLOCK) ON T2.RoleID = T4.ID LEFT JOIN dbo.Mes_Sys_Organization T3 WITH(NOLOCK) ON T1.OrgID = T3.ID WHERE 1=1 "; if (!string.IsNullOrEmpty(obj.UserID)) { sql += string.Format(" AND T1.UserID Like '%{0}%'", obj.UserID); } if (!string.IsNullOrEmpty(obj.UserName)) { sql += string.Format(" AND T1.UserName Like '%{0}%'", obj.UserName); } string orderBy = pager.OrderBy; if (string.IsNullOrEmpty(orderBy)) { orderBy = "CreatedTime DESC"; } string cmdPageSql = string.Format(BaseDao.PageSql, orderBy, sql, pager.StartNo, pager.EndNo); string cmdCountSql = string.Format(BaseDao.CountSql, sql.Substring(sql.ToLower().IndexOf("from", StringComparison.Ordinal))); //查询总记录数 pager.TotalItemCount = this.CurDbSession.FromSql(cmdCountSql).ToScalar <int>(); //返回当前页的记录数 return(this.CurDbSession.FromSql(cmdPageSql).ToList <Mes_Sys_User>()); }
/// <summary> /// 查询列表 /// </summary> /// <param name="obj"></param> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public ActionResult UserMgt_FindByPage(Mes_Sys_User obj, int page, int rows) { var pager = new PagerBase() { CurrentPageIndex = page, PageSize = rows }; var list = MesSysUserDao.Instance.FindByPage(obj, ref pager); return(Json(new { total = pager.TotalItemCount, rows = list }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 校验登录 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult CheckLogin(Mes_Sys_User obj) { if (string.IsNullOrEmpty(obj.UserID)) { return(Json(new { IsSuccess = false, Message = "请输入用户账号!" })); } if (string.IsNullOrEmpty(obj.Pass)) { return(Json(new { IsSuccess = false, Message = "请输入密码!" })); } try { string password = obj.Pass; obj.Pass = password; //EncryptUtil.MD5Password(obj.Password).ToLower(); //md5加密 Mes_Sys_User user = MesSysUserDao.Instance.GetUser(obj); if (user == null || user.ID <= 0) { return(Json(new { IsSuccess = false, Message = "账号或密码有误!" })); } UserModel model = new UserModel(); model.ID = user.ID; model.UserId = user.UserID; model.Password = password; model.UserName = user.UserName; model.IsAdmin = (user.IsAdmin == "Y"); model.OrgID = user.OrgID; //写入Cookie和Session string sUserInfo = model.UserId + "|" + password; sUserInfo = EncryptUtil.DesEncrypt(sUserInfo); //FormsAuthentication.SetAuthCookie(model.LoginName, true, "name");//加入from验证票据 //FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,model.LoginName, DateTime.Now, DateTime.Now.AddDays(7), true, sUserInfo); //FormsIdentity identity = new FormsIdentity(ticket); //HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket)); //Response.Cookies.Remove(cookie.Name); HttpCookie cookie = new HttpCookie(UserKey, sUserInfo); cookie.Expires = DateTime.Now.AddDays(1); //Cookie设置为1天内过期 Response.Cookies.Add(cookie); //SessionManager.Instance.AddSession(UserKey, model); //string LoginIp = AppHelper.GetClientIP(); //string userName = user.LoginName; //Sys_LoginLogDao.Instance.SaveLoginLog(userName, LoginIp); return(Json(new { IsSuccess = true, Message = "登录成功" })); } catch (System.Exception ex) { return(Json(new { IsSuccess = false, Message = "登录失败,请确认账号和密码正确" })); } }
/// <summary> /// 获取单个用户实体 /// </summary> /// <param name="obj"></param> /// <returns></returns> public Mes_Sys_User GetUser(Mes_Sys_User obj) { List <SqlParameter> list = new List <SqlParameter>(); string sql = "select top 1 * from Mes_Sys_User where 1=1 "; if (!string.IsNullOrEmpty(obj.UserID)) { sql = sql + string.Format(" AND UserID='{0}'", obj.UserID); } if (!string.IsNullOrEmpty(obj.Pass)) { sql = sql + string.Format(" AND Pass='******'", obj.Pass); } return(this.CurDbSession.FromSql(sql.ToString()).ToFirstDefault <Mes_Sys_User>()); }
/// <summary> /// 保存用户 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool SaveExt(Mes_Sys_User obj) { int result = -1; try { using (DbTrans trans = this.CurDbSession.BeginTransaction()) { //1.保存用户 if (obj.ID > 0) { result = trans.Update <Mes_Sys_User>(obj); } else { result = trans.Insert <Mes_Sys_User>(obj); } if (result <= 0) { trans.Rollback(); return(false); } //2.保存用户角色、部门关系表 string sql = @"DELETE FROM Mes_Sys_Map WHERE UserID ='{0}'; INSERT INTO Mes_Sys_Map(UserID,RoleID,OrgID,RecordStatus,Creater,CreatedTime)VALUES('{0}',{1},{2},1,'{3}',GETDATE())"; sql = string.Format(sql, obj.UserID, obj.RoleID, obj.OrgID, obj.Creater); result = trans.FromSql(sql).ExecuteNonQuery(); if (result <= 0) { trans.Rollback(); return(false); } //提交事务 trans.Commit(); } } catch (System.Exception ex) { throw ex; } return(true); }
/// <summary> /// 密码重置 /// </summary> /// <param name="ID"></param> /// <returns></returns> public ActionResult UserMgt_ResetPassword(int ID) { string message = string.Empty; if (ID <= 0) { return(Json(new { IsSuccess = false, Message = "选择的记录有误,请刷新后重试!" })); } Mes_Sys_User obj = MesSysUserDao.Instance.Find <Mes_Sys_User, int>(ID); if (obj == null) { return(Json(new { IsSuccess = false, Message = "用户信息有误!" })); } obj.Pass = "******"; MesSysUserDao.Instance.Save <Mes_Sys_User>(obj); return(Json(new { IsSuccess = true, Message = message })); }
/// <summary> /// 用户保存 /// </summary> /// <param name="obj"></param> /// <returns></returns> public ActionResult UserMgt_Save(Mes_Sys_User obj) { if (string.IsNullOrEmpty(obj.UserID)) { return(Json(new { IsSuccess = false, Message = "工号不能为空!" })); } if (string.IsNullOrEmpty(obj.UserName)) { return(Json(new { IsSuccess = false, Message = "用户名不能为空!" })); } if (obj.ID <= 0) { obj.Pass = "******"; obj.RecordStatus = YesNoType.Yes; obj.Creater = base.CurUser.UserId; obj.CreatedTime = DateTime.Now; } MesSysUserDao.Instance.SaveExt(obj); return(Json(new { IsSuccess = true, Message = "操作成功!" })); }
/// <summary> /// 修改密码 /// </summary> /// <param name="userName"></param> /// <returns></returns> public string SysUser_ChangePwd(string oldpwd, string pwd, string npwd) { if (string.IsNullOrEmpty(oldpwd)) { return("原密码不能为空!"); } if (string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(npwd)) { return("新密码和重复密码不能为空!"); } string message = RegProvider.IsPassword("新密码和重复密码", pwd); if (!string.IsNullOrEmpty(message)) { return(message); } if (pwd != npwd) { return("新密码和重复密码不一致!"); } Mes_Sys_User obj = new Mes_Sys_User(); obj.UserID = base.CurUser.UserId; obj.Pass = oldpwd; Mes_Sys_User u = MesSysUserDao.Instance.GetUser(obj); if (u == null || u.ID < 0) { return("原密码有误!"); } u.Pass = pwd; MesSysUserDao.Instance.Save <Mes_Sys_User>(u); return("OK"); }
//public UserModel _CurUser = null; /// <summary> /// 验证用户登录信息 /// </summary> /// <param name="context"></param> /// <returns></returns> public bool ValidUser(HttpContextBase context) { UserModel _CurUser = null; //移到内部了 //测试时使用 this.Test(); return(true); //1.校验Session if (_CurUser != null && _CurUser.ID > 0) { return(true); } _CurUser = SessionManager.Instance.GetSession <UserModel>(UserKey); if (_CurUser == null) { //2.校验Cookie HttpCookie cookie = context.Request.Cookies[UserKey]; if (cookie == null || string.IsNullOrEmpty(cookie.Value)) { return(false); } string sUserInfo = cookie.Value; sUserInfo = EncryptUtil.DesDecrypt(sUserInfo); if (sUserInfo.IndexOf("|") < 0) { return(false); } string loginName = sUserInfo.Split('|')[0]; string password = sUserInfo.Split('|')[1]; if (string.IsNullOrEmpty(loginName) || string.IsNullOrEmpty(password)) { return(false); } //3.校验用户名、密码 string oldPassword = password; //password = EncryptUtil.MD5Password(password).ToLower(); //md5加密 Mes_Sys_User obj = new Mes_Sys_User() { UserID = loginName, Pass = password }; Mes_Sys_User user = MesSysUserDao.Instance.GetUser(obj); if (user == null || user.ID <= 0) { return(false); } //4.校验Cookie成功,写入账号 _CurUser = new UserModel(); _CurUser.ID = user.ID; _CurUser.UserId = user.UserID; _CurUser.Password = password; _CurUser.UserName = user.UserName; _CurUser.IsAdmin = (user.IsAdmin == "Y"); _CurUser.OrgID = user.OrgID; SessionManager.Instance.AddSession(UserKey, _CurUser); return(true); } return(true); }