public ActionResult PostLogin(FormCollection form) { string username = form["username"]; string password = form["password"]; bool isremember = Convert.ToBoolean(form["isremember"]); if (username == "" || password == "") { return(Json(new { Result = false, Message = "账号密码不能为空!" })); } //result success Failure LockedOut LoginCheckResult result = LoginCheck.PasswordSignIn(username, password, this.SetCustomerCookie); if (result == LoginCheckResult.Success) { Customer cus = this.CurrentCustomer; var userRole = cus.CustomerType;//getrolebyid HttpCookie userRoleCookie = new HttpCookie("Role"); switch (userRole) { case CustomerType.User: { userRoleCookie.Value = "User"; if (isremember) { //加上remember password HttpCookie rolelongCookie = Request.Cookies[".ASPXAUTH"]; rolelongCookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(rolelongCookie); userRoleCookie.Expires = DateTime.Now.AddDays(7); } Response.SetCookie(userRoleCookie); return(Json(new { Result = true, Message = "User" })); } case CustomerType.SuperAdmin: { userRoleCookie.Value = "SuperAdmin"; if (isremember) { //加上remember password HttpCookie rolelongCookie = Request.Cookies[".ASPXAUTH"]; rolelongCookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(rolelongCookie); userRoleCookie.Expires = DateTime.Now.AddDays(7); } Response.SetCookie(userRoleCookie); return(Json(new { Result = true, Message = "SuperAdmin" })); } case CustomerType.Admin: { userRoleCookie.Value = "Admin"; if (isremember) { //加上remember password HttpCookie rolelongCookie = Request.Cookies[".ASPXAUTH"]; rolelongCookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(rolelongCookie); userRoleCookie.Expires = DateTime.Now.AddDays(7); } Response.SetCookie(userRoleCookie); return(Json(new { Result = true, Message = "Admin" })); } default: throw new ArgumentNullException("Can not find user type by id"); } } else if (result == LoginCheckResult.LockedOut) { return(Json(new { Result = false, Message = "未经审核的用户或此账户已被冻结,请联系管理员!" })); } else if (result == LoginCheckResult.Failure) { return(Json(new { Result = false, Message = "用户名或密码错误" })); } else { return(Json(new { Result = false, Message = "some error happened when login" })); } }