public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { try { if (!ModelState.IsValid || model.Code==null|| !model.Code.Equals(Session["VerifyCode"].ToString(), StringComparison.OrdinalIgnoreCase)) { if (!model.Code.Equals(Session["VerifyCode"].ToString(), StringComparison.OrdinalIgnoreCase)) ViewBag.Message = "验证码错误"; return View(model); } // 这不会计入到为执行帐户锁定而统计的登录失败次数中 // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true var result = await CheckLogin(model); if (model.RememberMe) { SetCookie(model.Email, model.Password); } if (result) { FormsAuthentication.SetAuthCookie(Account.Name, true); return RedirectToLocal(returnUrl); } ViewBag.Message = "用户名或者密码错误,请重新输入"; //Response.Write("<script>alert('用户名或者密码错误,请重新输入')</script>"); return View(model); } catch (Exception ex) { LogHelper.Instance.WriteError(ex, GetType(), MethodBase.GetCurrentMethod().Name); throw; } }
public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; var entity = new LoginViewModel(); entity.Email = Request.Cookies["WoXue"] == null ? "" : Request.Cookies["WoXue"]["UserName"]; entity.Password = Request.Cookies["WoXue"] == null ? "" : Request.Cookies["WoXue"]["Password"]; return View(entity); }
public async Task<bool> CheckLogin(LoginViewModel model) { var account = await DataSource.Accounts.FirstOrDefaultAsync(t => t.Name == model.Email || t.Email == model.Email || t.Phone == model.Email); if (account == null) return false; var password = UntilHelper.GetMd5HashCode(model.Password + account.Salt); if (password == account.Password) { Config.SaveUserId(account.Id); return true; } return false; }