public async Task<ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return View(model); } else { var user = await UserManager.FindByNameAsync(model.Email); if (user != null && !(await UserManager.IsEmailConfirmedAsync(user.Id))) if (!UserManager.IsInRole(user.Id, "admin")) return View("DisplayEmail"); //ApplicationUser user = UserManager.FindByEmail(model.Email); //if (user != null) // if (!string.IsNullOrEmpty(user.Id) && !UserManager.IsEmailConfirmed(user.Id)) // if (!UserManager.IsInRole(user.Id, "Admin")) // return View("DisplayEmail"); // 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 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 }); case SignInStatus.Failure: default: ModelState.AddModelError("", RQResources.Views.Shared.SharedStrings.am_login_error); return View(model); } } }
public ActionResult SmallLogOff(LoginViewModel model, string returnUrl) { AuthenticationManager.SignOut(); return RedirectToLocal(returnUrl); }