public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { //AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); if (model.UnitName == null) { model.UnitName = SysBaseInfor.DefaultUnit; } //if (!ModelState.IsValid) //{ // return View(model); //} UnitsDAL unitCtrl = new UnitsDAL(); Units unitObj = unitCtrl.GetUnitByCode(model.UnitName); var result = SignInStatus.Failure; if ((model.UserName.ToLower() == SysBaseInfor.SuperAdmin.ToLower()) || (unitObj != null && (unitObj.Active == true))) { result = await SignInHelper.PassworCheck(unitObj, model.UserName.ToLower(), model.Password, model.RememberMe, shouldLockout : false); } switch (result) { case SignInStatus.Success: // gan session Session["userLogin"] = model.UserName; Session["unitLogin"] = model.UnitName; await OnLogin(); return(Redirect("/")); //return RedirectToAction("OuthenGoogle", new { ReturnUrl = returnUrl }); bat authen qrcode case SignInStatus.LockedOut: ModelState.AddModelError("", "Tài khoản bị khóa!"); return(View(model)); case SignInStatus.RequiresTwoFactorAuthentication: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Sai thông tin tài khoản."); return(View(model)); } }