public virtual ActionResult ManageLogin(LoginViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = model.AsUser(); var userLoginStatus = _userService.ValidateUser(user.UserName, user.Password); switch (userLoginStatus) { case UserLoginStatus.Success: user = _userService.GetAll().FirstOrDefault(n => n.UserName == user.UserName); break; case UserLoginStatus.IsNotExist: TempData["StatusMessageData"] = "账号不存在!"; break; case UserLoginStatus.InvalidCredentials: TempData["StatusMessageData"] = "帐号或密码错误,请重新输入!"; break; case UserLoginStatus.NotActivated: TempData["StatusMessageData"] = "账号未激活!"; break; case UserLoginStatus.Banned: TempData["StatusMessageData"] = "账号被封禁!"; break; case UserLoginStatus.UnknownError: TempData["StatusMessageData"] = "未知错误,请重试!"; break; default: TempData["StatusMessageData"] = "未知错误,请重试!"; break; } if (userLoginStatus != UserLoginStatus.Success) { return(View(model)); } FormsAuthentication.SignOut(); var adminCookie = new HttpCookie("ChiakiAdminCookie" + user.Id) { Value = UserPasswordHelper.MD5(true.ToString()) }; if (!string.IsNullOrEmpty(FormsAuthentication.CookieDomain)) { adminCookie.Domain = FormsAuthentication.CookieDomain; } adminCookie.HttpOnly = true; Response.Cookies.Add(adminCookie); FormsAuthentication.SetAuthCookie(user.UserName, model.RememberMe); var returnUrl = string.IsNullOrEmpty(model.ReturnUrl) ? Request.QueryString.Get("ReturnUrl") : model.ReturnUrl; if (string.IsNullOrWhiteSpace(returnUrl)) { return(RedirectToAction(MVC.Admin.Admin.Home())); } return(Redirect(returnUrl)); }