public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { //BankModel bank = new BankModel(); //DBInit.Instance.Init(bank); if (!ModelState.IsValid) { return View(model); } //var user = await MemberBLL.Instance.Find_SysUser(model.Email); //if (user == null) ModelState.AddModelError("UserName", "用户名不存在"); var user = await MemberBLL.Instance.Get_SysUser(model.Email, Utils.MD5Encrypt(model.Password)); if (user != null ) { ViewBag.LoginState = "已登录"; //FormsAuthentication.SetAuthCookie(model.Email, model.RememberMe); var identity = MemberBLL.Instance.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie); AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = model.RememberMe }, identity); Session.Add(ConfigBusiness.Session_User_Key, user); sys_log logInfo = new sys_log(); logInfo.user_id = user.user_id; logInfo.user_name = user.user_name; logInfo.interface_name = "Login"; logInfo.interface_param = JsonHelper.ToJson(model); logInfo.result = ViewBag.LoginState; LogBusiness.Instance.WriteLog(logInfo, GW.Utils.LogMsgLevel.Info); return RedirectToLocal(returnUrl); } else { ViewBag.LoginState = "未登录"; } AddErrors(new IdentityResult(new string[] { "登录失败" })); sys_log logInfo2 = new sys_log(); logInfo2.user_id = user.user_id; logInfo2.user_name = user.user_name; logInfo2.interface_name = "Login"; logInfo2.interface_param = JsonHelper.ToJson(model); logInfo2.result = ViewBag.LoginState; LogBusiness.Instance.WriteLog(logInfo2,GW.Utils.LogMsgLevel.Info); return View(model); }
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); } }