public async Task <IActionResult> Login(Models.ViewModels.LoginModel loginModel) { if (ModelState.IsValid) { IdentityUser user = await userManager.FindByNameAsync(loginModel.Name); if (user != null) { await signInManager.SignOutAsync(); if ((await signInManager.PasswordSignInAsync(user, loginModel.Password, false, false)).Succeeded) { return(Redirect(loginModel?.ReturnUrl ?? "/Admin/Index")); } } } ModelState.AddModelError("", "Invalid name or password"); return(View(loginModel)); }
public async Task <IActionResult> Login(Models.ViewModels.LoginModel loginModel) { if (ModelState.IsValid) { //get current user by email AppUser currentUser = await _userManager.FindByEmailAsync(loginModel.Email); Microsoft.AspNetCore.Identity.SignInResult signInResult = await _signInManager.PasswordSignInAsync(currentUser, loginModel.Password, loginModel.RememberMe, true); if (signInResult.Succeeded) { var user = User; AdminRegisterModel adminRegisterModel = new AdminRegisterModel(); RegisterModel_a registerModel_A = new RegisterModel_a(); RegisterModel_s registerModel_S = new RegisterModel_s(); if (currentUser.Email == adminRegisterModel.Email) { return(RedirectToAction("AdminIndex", "AdminHome", new { area = "Admin" })); } else if (currentUser.Email == registerModel_A.Email || currentUser.Email == registerModel_S.Email) { return(RedirectToAction("Index", "Home")); } //go to user defined role panel } else if (signInResult.IsLockedOut) { ModelState.AddModelError("", "This use is already locked out!!"); } else if (signInResult.IsNotAllowed) { ModelState.AddModelError("", "Your have no access"); } } return(RedirectToAction(nameof(Login))); }
public async System.Threading.Tasks.Task <Microsoft.AspNetCore.Mvc.IActionResult> Login(Models.ViewModels.LoginModel accountViewModel) { if (ModelState.IsValid) { Microsoft.AspNetCore.Identity.IdentityUser user = await userManager.FindByNameAsync(accountViewModel.Name); if (user != null) { await signInManager.SignOutAsync(); if ((await signInManager.PasswordSignInAsync(user, accountViewModel.Password, false, false)).Succeeded) { return(Redirect(accountViewModel?.ReturnUrl ?? "/Admin/Index")); } } } ModelState.AddModelError("", "Invalid name or password"); return(View(accountViewModel)); }