public async Task <ActionResult> Login(UserLoginViewModel model) { if (ModelState.IsValid) { AppUser user = await _userManager.FindAsync(model.Email, model.Password); if (user == null) { ModelState.AddModelError("", GetErrorMessage.InvalidNameOrPassword); } else { if (!await _userManager.IsEmailConfirmedAsync(user.Id)) { string code = await _userManager.GenerateEmailConfirmationTokenAsync(user.Id); string callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); _mailingRepository.ActivationMail(user.Email, callbackUrl); return(View("_Error", new string[] { "You must have a confirmed email to log on. Check your email for activation link." })); } ClaimsIdentity ident = await _userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); _authManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); _authManager.SignIn(new AuthenticationProperties { IsPersistent = false, }, ident); return(RedirectToAction("Index", "Home")); } } return(View(model)); }