public JsonResult Current(UserModel user) { if (Session[CookieModel.UserName.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.UserName.ToString()].ToString())) { Redirect("Login/Index"); return null; } JsonResult json = new JsonResult() { ContentType = "text/html" }; if (Session[CookieModel.CurrentUser.ToString()]==null || Session[CookieModel.CurrentAdmin.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.CurrentUser.ToString()].ToString()) || string.IsNullOrEmpty(Session[CookieModel.CurrentAdmin.ToString()].ToString())) { try { DataSet dst = ServiceModel.CreateInstance().Client.GetCurrentUser(Session[CookieModel.UserName.ToString()].ToString()); if (dst == null) return null; if (dst.Tables.Count != 2) return null; StringBuilder sb = new StringBuilder(); foreach (DataRow drow in dst.Tables[1].Rows) { sb.Append(drow[0].ToString()); sb.Append(" "); } Session[CookieModel.CurrentUser.ToString()] = string.Format("登录用户:{0} ", dst.Tables[0].Rows[0][0].ToString()); Session[CookieModel.CurrentAdmin.ToString()] = string.Format("系统管理员:{0}", sb.ToString().Trim()); } catch { } } json.Data = new { current = Session[CookieModel.CurrentUser.ToString()].ToString(), admin = Session[CookieModel.CurrentAdmin.ToString()].ToString() }; return json; }
public ActionResult Index() { HttpCookie cookie = Request.Cookies.Get(CookieModel.Logistics_User_Cookie.ToString()); if (cookie == null) { return View(new UserModel()); } if (cookie[CookieModel.UserName.ToString()] != null && cookie[CookieModel.Password.ToString()] != null) { UserModel user = new UserModel() { UserName = cookie[CookieModel.UserName.ToString()], Password = DESEncrypt.CreateInstance().Decrypt(cookie[CookieModel.Password.ToString()]), RememberMe = true }; DataSet dst = ServiceModel.CreateInstance().Client.UserLogin(user.UserName, user.Password); if (dst == null || dst.Tables.Count == 0) { ViewBag.ErrorMessage = "用户名或密码错误"; return View(user); } user.Password = cookie[CookieModel.Password.ToString()]; AddHttpContextItems(user); Session[CookieModel.UserName.ToString()] = user.UserName; return RedirectToAction("Index","Home"); } return View(new UserModel()); }
public ActionResult Index(UserModel user) { if (!ModelState.IsValid) { return View(user); } if (!ValidateInput(user)) { return View(user); } string password = Md5Encrypt.CreateInstance().Encrypt(user.Password); DataSet dst = ServiceModel.CreateInstance().Client.UserLogin(user.UserName, password); if (dst == null || dst.Tables.Count == 0) { ViewBag.ErrorMessage = "用户名或密码错误"; return View(user); } if (user.RememberMe) { FormsAuthentication.SetAuthCookie(user.UserName, true, FormsAuthentication.FormsCookiePath); FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, user.UserName, DateTime.Now, DateTime.Now.AddTicks(FormsAuthentication.Timeout.Ticks), false, JsonConvert.SerializeObject(user)); string hashTicket = FormsAuthentication.Encrypt(Ticket); HttpCookie cookie = new HttpCookie(CookieModel.Logistics_User_Cookie.ToString(), hashTicket); cookie[CookieModel.UserName.ToString()] = user.UserName; password = DESEncrypt.CreateInstance().Encrypt(password); cookie[CookieModel.Password.ToString()] = password; cookie.Expires = DateTime.Now.AddMonths(1); Response.Cookies.Add(cookie); } else { HttpCookie cookie = new HttpCookie(CookieModel.Logistics_User_Cookie.ToString()); cookie.Expires = DateTime.Now.AddMonths(-1); Request.Cookies.Add(cookie); cookie[CookieModel.UserName.ToString()] = null; cookie[CookieModel.Password.ToString()] = null; Response.Cookies.Add(cookie); } user.Password = DESEncrypt.CreateInstance().Encrypt(Md5Encrypt.CreateInstance().Encrypt(user.Password)); AddHttpContextItems(user); Session[CookieModel.UserName.ToString()] = user.UserName; return RedirectToAction("Index", "Home"); }
public JsonResult ChangePassword(UserModel user) { if (Session[CookieModel.UserName.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.UserName.ToString()].ToString())) { Redirect("Login/Index"); return null; } JsonResult json = new JsonResult() { ContentType = "text/html" }; int result = 0; user.UserName = Session[CookieModel.UserName.ToString()].ToString(); string message = ValidateInput(user); if (!string.IsNullOrEmpty(message)) { json.Data = new { Result = 0, Message = message }; return json; } try { user.Password = Md5Encrypt.CreateInstance().Encrypt(user.Password); user.Password_New = Md5Encrypt.CreateInstance().Encrypt(user.Password_New); result = ServiceModel.CreateInstance().Client.ModifyPassword(user.UserName, user.Password, user.Password_New); switch (result) { case -1: message = "没有权限"; break; case 0: message = "旧密码输入不正确"; break; case 1: message = "修改成功"; break; } } catch (Exception ex) { result = 0; message = ex.Message; } json.Data = new { Result = result, Message = message }; return json; }
public JsonResult Add(UserModel user) { if (Session[CookieModel.UserName.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.UserName.ToString()].ToString())) { Redirect("Login/Index"); return null; } JsonResult json = new JsonResult() { ContentType = "text/html" }; int result = 0; string message = ValidateInput(user); if (!string.IsNullOrEmpty(message)) { json.Data = new { Result = result, Message = message }; return json; } try { user.Password = string.IsNullOrEmpty(user.Password) ? "123456" : user.Password; user.Password = Md5Encrypt.CreateInstance().Encrypt(user.Password); result = ServiceModel.CreateInstance().Client.AddUser(Session[CookieModel.UserName.ToString()].ToString(), user.UserName, user.RealName, user.Phone, user.IsAdmin); switch (result) { case -1: message = "没有权限"; break; case 0: message = "添加失败"; break; case 1: message = "添加成功"; break; } } catch (Exception ex) { result = 0; message = ex.Message; } json.Data = new { Result = result, Message = message }; return json; }
private string ValidateInput(UserModel user) { string message = string.Empty; if (string.IsNullOrEmpty(user.Password)) { message = "旧密码不能为空"; return message; } if (user.Password.Length < 6 || user.Password.Length > 20) { message = "旧密码为6-20位字符"; return message; } if (string.IsNullOrEmpty(user.Password_New)) { message = "新密码不能为空"; return message; } if (user.Password_New.Length < 6 || user.Password_New.Length > 20) { message = "新密码为6-20位字符"; return message; } if (string.IsNullOrEmpty(user.Password_Confirm)) { message = "确认密码不能为空"; return message; } if (user.Password_Confirm.Length < 6 || user.Password_Confirm.Length > 20) { message = "确认密码为6-20位字符"; return message; } if ( user.Password_New!= user.Password_Confirm) { message = "新密码和确认密码输入不一致"; return message; } return message; }
public JsonResult Delete(UserModel user) { if (Session[CookieModel.UserName.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.UserName.ToString()].ToString())) { Redirect("Login/Index"); return null; } JsonResult json = new JsonResult() { ContentType = "text/html" }; int result = 0; string message = string.Empty; try { result = ServiceModel.CreateInstance().Client.DeleteUser(Session[CookieModel.UserName.ToString()].ToString(), user.UserID); switch (result) { case -1: message = "没有权限"; break; case 0: message = "删除失败"; break; case 1: message = "删除成功"; break; } } catch (Exception ex) { result = 0; message = ex.Message; } json.Data = new { Result = result, Message = message }; return json; }
private string ValidateInput(UserModel user) { string message = string.Empty; if (user.UserName.Length < 2 || user.UserName.Length > 10) { message = "用户名为2-10位字符"; return message; } if (user.RealName.Length < 2 || user.RealName.Length > 10) { message = "真实姓名为2-10位字符"; return message; } if (user.Phone.Length < 11 || user.Phone.Length > 20) { message = "联系电话为11-20位字符"; return message; } if (!Regex.IsMatch(user.Phone, "[\\d-]+")) { message = "联系电话的格式不正确!"; return message; } return message; }
public JsonResult Query(UserModel user) { if (Session[CookieModel.UserName.ToString()] == null || string.IsNullOrEmpty(Session[CookieModel.UserName.ToString()].ToString())) { Redirect("Login/Index"); return null; } JsonResult json = new JsonResult() { ContentType = "text/html" }; try { user.UserName = string.IsNullOrEmpty(user.UserName) ? string.Empty : user.UserName; DataSet dst = ServiceModel.CreateInstance().Client.GetAllUser(Session[CookieModel.UserName.ToString()].ToString(), user.UserName); if (dst == null) return null; if (dst.Tables.Count != 1) return null; if (Convert.ToInt32(dst.Tables[0].Rows[0][0]) == -1) return null; var data = from row in dst.Tables[0].AsEnumerable() select new UserQueryModel() { id = Convert.ToInt32(row["id"]), uname = row["uname"].ToString().Trim(), rname = row["rname"].ToString().Trim(), phone = row["phone"].ToString().Trim(), isadmin = Convert.ToBoolean( row["isadmin"])?"是":"否" }; json.Data = new { total = Convert.ToInt32(dst.Tables[0].Rows[0][0]), rows = data }; } catch { } return json; }
private bool ValidateInput(UserModel user) { if (string.IsNullOrEmpty(user.UserName)) { ViewBag.ErrorMessage = "用户名不能为空"; return false; } if (user.UserName.Length < 2 || user.UserName.Length > 10) { ViewBag.ErrorMessage = "用户名为2-10位字符"; return false; } if (string.IsNullOrEmpty(user.Password)) { ViewBag.ErrorMessage = "密码不能为空"; return false; } if (user.Password.Length < 6 || user.Password.Length > 20) { ViewBag.ErrorMessage = "密码为6-20位字符"; return false; } if (string.IsNullOrEmpty(user.Code)) { ViewBag.ErrorMessage = "请输入验证码"; return false; } if (Session["VerificationCode"] == null || string.IsNullOrEmpty(Session["VerificationCode"].ToString())) { ViewBag.ErrorMessage = "请输入验证码"; return false; } else if(Session["VerificationCode"].ToString() != user.Code.ToUpper()) { ViewBag.ErrorMessage = "验证码输入不正确"; return false; } return true; }
private void AddHttpContextItems(UserModel user) { if (HttpContext.Session[CookieModel.UserName.ToString()] == null || HttpContext.Session[CookieModel.Password.ToString()] == null) { HttpContext.Session[CookieModel.UserName.ToString()] = user.UserName; HttpContext.Session[CookieModel.Password.ToString()] = user.Password; } HttpContext.Session.Timeout = 120; }