public async Task <ActionResult> LightLogin(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { TempData["LoginError"] = "Invalid"; return(RedirectToAction("Index", "Home")); } //Add this to check if the email was confirmed. if (!await UserManager.IsEmailConfirmedAsync(user.Id)) { TempData["LoginError"] = "Unconfirmed"; return(RedirectToAction("Index", "Home")); } if (await UserManager.IsLockedOutAsync(user.Id)) { TempData["LoginError"] = "Lockout"; return(RedirectToAction("Index", "Home")); } var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); } } // If we got this far, something failed, redisplay form TempData["LoginError"] = "Invalid"; return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> GuestLogin(GuestViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.GuestAcct, model.GuestPassword, false, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public async Task <ActionResult> Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; //NC Start of auto login code - always auto sign in as guest, copied from the guest post code! GuestViewModel model = new GuestViewModel { GuestAcct = "*****@*****.**", GuestPassword = "******" }; var result = await SignInHelper.PasswordSignIn(model.GuestAcct, model.GuestPassword, false, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } //NC - End of auto sign in code return(View()); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.AccountDisabled: ModelState.AddModelError("", "Your Account has been disabled, please contact system administrator."); return(View(model)); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
protected void LogIn(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signinHelper = new SignInHelper(manager, Context.GetOwinContext().Authentication); // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = signinHelper.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false); switch (result) { case SignInStatus.Success: IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); break; case SignInStatus.LockedOut: Response.Redirect("/Account/Lockout"); break; case SignInStatus.RequiresTwoFactorAuthentication: Response.Redirect("/Account/TwoFactorSignIn?ReturnUrl=" + Request.QueryString["ReturnUrl"], true); break; case SignInStatus.Failure: default: FailureText.Text = "Invalid login attempt"; ErrorMessage.Visible = true; break; } } }
protected void LogIn(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); var signinHelper = new SignInHelper(manager, Context.GetOwinContext().Authentication); // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = signinHelper.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false); switch (result) { case SignInStatus.Success: IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); break; case SignInStatus.LockedOut: Response.Redirect("/Account/Lockout"); break; case SignInStatus.RequiresTwoFactorAuthentication: Response.Redirect("/Account/TwoFactorSignIn?ReturnUrl=" + Request.QueryString["ReturnUrl"],true); break; case SignInStatus.Failure: default: FailureText.Text = "Invalid login attempt"; ErrorMessage.Visible = true; break; } } }
/// <summary> /// A beagle tag user can log in to receive a list of tags that are associated to them /// </summary> /// <param name="email"></param> /// <param name="password"></param> /// <returns></returns> public async Task<JsonResult> Login (string email, string password) { if (email == null || password == null) { return Json(new { success = false, message = "missing one or more parameters", UID = "", }, JsonRequestBehavior.AllowGet); } string UID = ""; List<IdentitySample.Models.Tag> tags = new List<Models.Tag>(); bool success = false; var message = ""; //make the login call // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var uM = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); var aM = HttpContext.GetOwinContext().Authentication; var signInHelper = new SignInHelper(uM, aM); var result = await signInHelper.PasswordSignIn(email, password, false, shouldLockout: false); if(result == SignInStatus.Success) { var test2 = ZDB.Users; var user = await ZDB.Users.Find(x => x.UserName == email).FirstOrDefaultAsync(); if(user != null) { //get the fields we need UID = user.Id; tags = user.Tags; success = true; //update the user await ZDB.Users.UpdateOneAsync(x => x.UserName == email, Builders<ApplicationUser>.Update.Set(x => x.LastLogin, DateTime.UtcNow)); } else { message = "error talking to database"; } } else { message = result.ToString(); } var test = User.Identity.GetUserId(); return Json(new { success = success, message = message, UID = UID, tags = tags }, JsonRequestBehavior.AllowGet); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // 这不会计入到为执行帐户锁定而统计的登录失败次数中 // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "无效的登录尝试。"); // return View(model); //} var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: log.Info("登陆成功:用户:" + model.Email); return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.InvalidEmail: // if (model.Email == "*****@*****.**") { var user = await UserManager.FindByNameAsync(model.Email); var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); ViewBag.Link = callbackUrl; } log.Info("用户未验证Email:" + model.Email); return(View("DisplayEmail")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: log.Info("无效的登录尝试 " + model.Email); ModelState.AddModelError("", "无效的登录尝试。"); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!EmailValidator.IsValid(model.Email)) { ModelState.AddModelError("Email", "Email kunne ikke valideres som værende korrekt email format."); } else { model.Email = EmailValidator.ParseEmail(model.Email); } if (!ModelState.IsValid) { ViewBag.ReturnUrl = returnUrl; ViewBag.LiveDemoMemberships = Demo.GetLiveDemoMemberships(); ViewBag.EnableDemo = (ViewBag.LiveDemoMemberships != null && ViewBag.LiveDemoMemberships.Count > 0); ViewBag.EnableMobil = UserManager.TwoFactorProviders.ContainsKey("PhoneCode"); model.LoginState = LoginViewModel.State.Login; return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: var cookie = new HttpCookie("LastEmailLogin", model.Email); cookie.Expires = DateTime.Now.AddMonths(1); Response.AppendCookie(cookie); return(RedirectToLocal(returnUrl)); case SignInStatus.UnConfirmed: return(RedirectToAction("EmailNotConfirmed", new { email = model.Email })); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ViewBag.ReturnUrl = returnUrl; ViewBag.LiveDemoMemberships = Demo.GetLiveDemoMemberships(); ViewBag.EnableDemo = (ViewBag.LiveDemoMemberships != null && ViewBag.LiveDemoMemberships.Count > 0); ViewBag.EnableMobil = UserManager.TwoFactorProviders.ContainsKey("PhoneCode"); model.LoginState = LoginViewModel.State.Login; ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel details) { string returnUrl = TempData["returnUrl"] == null ? "" : TempData["returnUrl"].ToString(); if (ModelState.IsValid) { AppUser user = await UserManager.FindAsync(details.UserName, details.Password); if (user == null) { ModelState.AddModelError("", "Невалидно потребителско име или парола!"); } else { ClaimsIdentity ident = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); ident.AddClaims(AdministratorClaimsProvider.AddAdministratorAccessToRoles(this, ident)); AuthManager.SignOut(); AuthManager.SignIn(new AuthenticationProperties { IsPersistent = false }, ident); if (!user.IsGoogleAuthenticatorEnabled) { return(RedirectToAction("EnableGoogleAuthenticator", new { returnUrl = returnUrl, userName = user.UserName })); } Infrastructure.Helpers.SignInStatus result = await SignInHelper.PasswordSignIn(details.UserName, details.Password, false, shouldLockout : false); switch (result) { case Infrastructure.Helpers.SignInStatus.Success: return(RedirectToLocal(returnUrl)); case Infrastructure.Helpers.SignInStatus.LockedOut: return(View("Lockout")); case Infrastructure.Helpers.SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case Infrastructure.Helpers.SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(details)); } } } TempData["returnUrl"] = returnUrl; return(View(details)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: Session["date"] = String.Format("{0:dd/MM/yyyy}", DateTime.Today.Date); TDKTEntities td = new TDKTEntities(); if (Session["year"] == null) { Session["year"] = td.getYear().FirstOrDefault().ToString(); } var tmp = this.UserManager.Users.FirstOrDefault(u => u.UserName == model.UserName); if (await this.UserManager.IsInRoleAsync(tmp.Id, "Theo dõi đơn vị")) { Session["donvi"] = tmp.MaDonVi; } else { Session["donvi"] = null; } return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Đăng nhập không thành công!"); return(View(model)); } }
//[ValidateAntiForgeryToken] public async Task <IHttpActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(Ok(false)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); if (result == App_Start.SignInStatus.Success) { return(Ok(new { userName = model.Email })); } return(Ok(false)); }
public async Task <HttpResponseMessage> SignIn(UserSignIn model) { if (model == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No Data")); } if (ModelState.IsValid) { // This doesn't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, true, false); switch (result) { case Ullo.Models.SignInStatus.Success: var user = await users.FindByNameAsync(model.UserName); await SignInHelper.SignInAsync(user, true, false); var account = new UserDetail(); account.UserName = user.UserName; account.FirstName = user.FirstName; account.LastName = user.LastName; account.FacebookId = user.FacebookId; account.isAuthenticated = true; account.Route = user.Route; var rolesForUser = users.GetRoles(user.Id); account.isAdmin = rolesForUser.Contains("Admin"); return(Request.CreateResponse(account)); case Ullo.Models.SignInStatus.LockedOut: return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "LockedOut")); case Ullo.Models.SignInStatus.RequiresTwoFactorAuthentication: return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "RequiresTwoFactorAuthentication")); case Ullo.Models.SignInStatus.Failure: return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Failure")); default: return(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Invalid")); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } var user = await UserManager.FindAsync(model.Email, model.Password); if (user == null) { ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } if (!user.EmailConfirmed) { ModelState.AddModelError("", "Email not verified. Please check your email inbox."); return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(Content("Lỗi! Đăng nhập không thành công! Vui lòng kiểm tra lại thông tin của bạn!")); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var user = await UserManager.FindByEmailAsync(model.Email); if (user == null) { return(Content("Tài khoản không tồn tại!")); } if (!(await UserManager.IsEmailConfirmedAsync(user.Id))) { return(Content("Tài khoản chưa được xác nhận! Vui lòng xác nhận email trước!")); } var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case Turbo_Phim.Models.SignInStatus.Success: return(JavaScript("location.reload()")); case Turbo_Phim.Models.SignInStatus.LockedOut: return(View("Lockout")); case Turbo_Phim.Models.SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case Turbo_Phim.Models.SignInStatus.Failure: default: ModelState.AddModelError("", "Lỗi! Đăng nhập không thành công! Vui lòng kiểm tra lại thông tin của bạn!"); return(Content("Lỗi! Đăng nhập không thành công! Vui lòng kiểm tra lại thông tin của bạn!")); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var user = await UserManager.FindByNameAsync(model.Email); if (user != null) { if (!await UserManager.IsEmailConfirmedAsync(user.Id)) { string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account-Resend"); ViewBag.errorMessage = "You must have a confirmed email to log on."; return(View("Error")); } } var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // Ceci ne comptabilise pas les échecs de connexion pour le verrouillage du compte // Pour que les échecs de mot de passe déclenchent le verrouillage du compte, utilisez shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid credentials."); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // 这不会计入到为执行帐户锁定而统计的登录失败次数中 // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "无效的登录尝试。"); return(View(model)); } }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { //if (!ModelState.IsValid) //{ // return View(model); //} //// Require the user to have a confirmed email before they can log on. //var user = await UserManager.FindByNameAsync(model.Email); //if (user != null) //{ // if (!await UserManager.IsEmailConfirmedAsync(user.Id)) // { // ViewBag.errorMessage = "You must have a confirmed email to log on."; // return View("Error"); // } //} //// This doen't count login failures towards lockout only two factor authentication //// To enable password failures to trigger lockout, change to shouldLockout: true //var result = await SignInHelper.PasswordSignIn(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresTwoFactorAuthentication: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "Account or password is incorrect."); // return View(model); //} if (ModelState.IsValid) { model.Password = Utility.Md5HashingData(model.Password); var user = await UserManager.FindAsync(model.UserName, model.Password); //if (user == null) //{ // ModelState.AddModelError("", "Invalid username or password."); //} var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", ManagerResource.ERROR_INVALID_LOGIN); return(View(model)); } } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { //通过微信登录 var Isweixinlogin = model.IsWeiXinLogin == "1" && !string.IsNullOrEmpty(model.WeixinUser); ViewBag.IsWeiXinAuth = !string.IsNullOrEmpty(model.WeixinUser); returnUrl = !string.IsNullOrWhiteSpace(returnUrl) ? returnUrl : (string.IsNullOrEmpty(model.Stateurl) ? "~/Manage/index" : model.Stateurl); if (Isweixinlogin) { ViewBag.WeiXinUser = model.WeixinUser; ViewBag.WeiXinUrl = returnUrl; } if (!ModelState.IsValid) { return(View(model)); } #region 密码安全监测 var isDetectionOn = PasswordStrengthDetectionService.IsDetectionOn(); if (isDetectionOn) { var ismatch = PasswordStrengthDetectionService.IsMatch(model.Password.Trim()); if (ismatch) { Session["IsPasswordStronger"] = true; } else { Session["IsPasswordStronger"] = false; } } #endregion var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, model.RememberMe, shouldLockout : false); //var user = await UserManager.FindByNameAsync(model.UserName); //var roles = await UserManager.GetRolesAsync(user.Id); log4net.LogManager.GetLogger("RollingLog").Info(model.UserName + " Log in: " + result.ToString()); switch (result) { case MvcBackend.App_Start.SignInStatus.Success: Session["MyMenu"] = null; if (Isweixinlogin) { var user = ReadOnlyRepository.GetForUpdate(e => e.UserName == model.UserName.Trim()); //if (user == null) return Redirect(WeiXinAuthHtml.Replace("[url]", returnUrl)); if (string.IsNullOrEmpty(user.WeiXinAuthId)) { user.WeiXinAuthId = model.WeixinUser; Repository.Update(user); } else { var weixinuser = ReadOnlyRepository.Get(e => e.WeiXinAuthId == model.WeixinUser); if (weixinuser != null && weixinuser.UserName != model.UserName) { ModelState.AddModelError("", "微信企业号已经认证过。"); return(View(model)); } } } return(RedirectToLocal(returnUrl)); case MvcBackend.App_Start.SignInStatus.LockedOut: return(View("Lockout")); case MvcBackend.App_Start.SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case MvcBackend.App_Start.SignInStatus.Failure: default: ModelState.AddModelError("", "登陆名或密码错误。"); return(View(model)); } }
//[Compress] public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { // This doen't count login failures towards lockout only two factor authentication // To enable password failures to trigger lockout, change to shouldLockout: true var result = await SignInHelper.PasswordSignIn(model.UserName, model.Password, true, shouldLockout : false); switch (result) { case SignInStatus.Success: Task T = new Task(() => { UserHelper _UserHelp = new UserHelper(); _UserHelp.SendUserLogin(model.UserName); }); T.Start(); //await SignInAsync(user, true); ////Create cookie if select remember me to expire in a year. //int timeout = model.RememberMe ? 525600 : 30; // Timeout in minutes, 525600 = 365 days. //var ticket = new FormsAuthenticationTicket(model.UserName, model.RememberMe, timeout); //string encrypted = FormsAuthentication.Encrypt(ticket); //var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); //cookie.Expires = System.DateTime.Now.AddMinutes(timeout);// Not my line //cookie.HttpOnly = true; // cookie not available in javascript. //Response.Cookies.Add(cookie); return(RedirectToLocal(returnUrl)); //return RedirectToLocal(returnUrl); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } //var user = await UserManager.FindAsync(model.UserName, model.Password); //if (user != null) //{ // await SignInAsync(user, true); // //Create cookie if select remember me to expire in a year. // int timeout = model.RememberMe ? 525600 : 30; // Timeout in minutes, 525600 = 365 days. // var ticket = new FormsAuthenticationTicket(model.UserName, model.RememberMe, timeout); // string encrypted = FormsAuthentication.Encrypt(ticket); // var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted); // cookie.Expires = System.DateTime.Now.AddMinutes(timeout);// Not my line // cookie.HttpOnly = true; // cookie not available in javascript. // Response.Cookies.Add(cookie); // return RedirectToLocal(returnUrl); //} //else //{ // ModelState.AddModelError("", "Invalid username or password."); //} } // If we got this far, something failed, redisplay form return(View(model)); }