示例#1
0
 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;
 }
示例#2
0
 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());
 }
示例#3
0
        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");
        }
示例#4
0
 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;
 }
示例#5
0
 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;
 }
示例#6
0
 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;
 }
示例#7
0
 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;
 }
示例#8
0
 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;
 }
示例#9
0
 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;
 }
示例#10
0
 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;
 }
示例#11
0
 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;
 }