public async Task <IActionResult> Login(AppUserLoginVM loginVM)//Kullanıcı adı ve şifre { if (ModelState.IsValid) { AppUser user = await userManager.FindByNameAsync(loginVM.UserName); if (user != null) { await signInManager.SignOutAsync(); var result = await signInManager.PasswordSignInAsync(user, loginVM.Password, false, false); if (result.Succeeded) { if (await userManager.IsInRoleAsync(user, "Admin")) { return(RedirectToAction("Index", "Home", new { area = "Admin" })); } else if (await userManager.IsInRoleAsync(user, "Ogretmen")) { return(RedirectToAction("Index", "Home", new { area = "Ogretmen" })); } else if (await userManager.IsInRoleAsync(user, "Ogrenci")) { return(RedirectToAction("Index", "Home", new { area = "Ogrenci" })); } } } } return(View()); }
public async Task <IActionResult> SignIn(AppUserLoginVM model) { if (!ModelState.IsValid) { return(View(model)); } await _userManagerBusiness.AddLoginTimeClaim(model); var(result, twoFactor) = await _signInManagerBusiness.SignInAsync(model); if (result && TempData["ReturnUrl"] != null) { return(Redirect(TempData["ReturnUrl"].ToString())); } else if (result) { return(RedirectToAction("Index", "Home")); } else if (twoFactor) { return(RedirectToAction("TwoFactorAuthentication", new { ReturnUrl = TempData["ReturnUrl"] })); } MesajYaz(result, "Giriş başarılı.", "Kullanıcı adı/email veya şifre hatalı"); return(RedirectToAction("SignIn")); }
public async Task <IActionResult> Login(AppUserLoginVM loginVM) { if (ModelState.IsValid) { AppUser user = await userManager.FindByNameAsync(loginVM.UserName); if (user != null) { await signInManager.SignOutAsync(); var result = await signInManager.PasswordSignInAsync(user, loginVM.Password, loginVM.RememberMe, false); if (result.Succeeded) { if (await userManager.IsInRoleAsync(user, "Manager")) { return(RedirectToAction("Index", "Home", new { area = "Manager" })); } if (await userManager.IsInRoleAsync(user, "Case")) { return(RedirectToAction("Index", "Home", new { area = "Case" })); } } } } return(View()); }
public async Task <(bool, bool)> SignInAsync(AppUserLoginVM model) { AppUser user = await _userManager.FindByNameAsync(model.UsernameorEmail); Microsoft.AspNetCore.Identity.SignInResult result = null; if (user == null) { user = await _userManager.FindByEmailAsync(model.UsernameorEmail); } if (user != null) { result = await _signInManager.PasswordSignInAsync(user, model.Password, false, false); } return(result != null ? (result.Succeeded, result.RequiresTwoFactor) : (false, false)); }
public async Task <IActionResult> Login(AppUserLoginVM loginVM) { if (ModelState.IsValid) { AppUser user = await userManager.FindByNameAsync(loginVM.UserName); if (user != null) { await signInManager.SignOutAsync(); var result = await signInManager.PasswordSignInAsync(user, loginVM.Password, loginVM.RememberMe, false); if (result.Succeeded) { return(Redirect("/Home/Index")); } } } return(View()); }
public async Task <IActionResult> Login(AppUserLoginVM loginVM)//kullanıcı adı ve şifre { if (ModelState.IsValid) { AppUser user = await userManager.FindByNameAsync(loginVM.UserName); if (user != null) { await signInManager.SignOutAsync(); var result = await signInManager.PasswordSignInAsync(user, loginVM.Password, loginVM.RememberMe, false); if (result.Succeeded) { //Todo: Member isimli Area içerisinde bulunan Home/Index'e yönlendirilecek. return(Redirect("/Home/Index")); } } } return(View()); }
public async Task <IActionResult> SignIn(AppUserLoginVM appUserLoginVM) { if (ModelState.IsValid) { AppUser user = await userManager.FindByEmailAsync(appUserLoginVM.Email); if (user != null) { await signInManager.SignOutAsync(); var result = await signInManager.PasswordSignInAsync(user, appUserLoginVM.Password, false, false); if (result.Succeeded) { return(RedirectToAction("Create", "Home", new { area = "admin" })); } } } ModelState.AddModelError(string.Empty, "E-posta adresiniz veya şifreniz yanlış."); return(View()); }
public async Task <bool> AddLoginTimeClaim(AppUserLoginVM model) { AppUser user = null; user = await _userManager.FindByNameAsync(model.UsernameorEmail); if (user == null) { user = await _userManager.FindByEmailAsync(model.UsernameorEmail); } if (user != null) { Claim loginTimeClaim = (await _userManager.GetClaimsAsync(user)).FirstOrDefault(c => c.Type == "loginTime"); if (loginTimeClaim != null) { await _userManager.RemoveClaimAsync(user, loginTimeClaim); } IdentityResult result = await _userManager.AddClaimAsync(user, new Claim("loginTime", DateTime.UtcNow.ToString())); return(result.Succeeded); } return(false); }
public async Task <IActionResult> Login(AppUserLoginVM loginVM) { if (ModelState.IsValid) { AppUser user = await userManager.FindByEmailAsync(loginVM.Email); if (user != null) { if (await userManager.IsLockedOutAsync(user)) { ModelState.AddModelError("", "Hesabınız bir süreliğine kilitlenmiştir. Lütfen daha sonra tekrar giriş yapmayı deneyiniz."); return(View(loginVM)); } if (userManager.IsEmailConfirmedAsync(user).Result == false) { ModelState.AddModelError("", "Email adresiniz onaylanmamıştır. Lütfen e-postanızı kontrol ediniz"); return(View(loginVM)); } await signInManager.SignOutAsync(); Microsoft.AspNetCore.Identity.SignInResult result = await signInManager.PasswordSignInAsync(user, loginVM.Password, loginVM.RememberMe, false); if (result.Succeeded) { await userManager.ResetAccessFailedCountAsync(user); if (TempData["ReturnUrl"] != null) { return(Redirect(TempData["ReturnUrl"].ToString())); } return(Redirect("/Home/Index")); } else { await userManager.AccessFailedAsync(user); int fail = await userManager.GetAccessFailedCountAsync(user); ModelState.AddModelError("", $"En fazla 3 deneme hakkınız var. {fail} kez başarısız giriş"); if (fail == 3) { await userManager.SetLockoutEndDateAsync(user, new System.DateTimeOffset(DateTime.Now.AddMinutes(20))); ModelState.AddModelError(string.Empty, "Hesabınız 3 başarısız girişten dolayı 20 dakika kilitlenmiştir. Lütfen 20 dakika sonra tekrar deneyiniz."); } else { ModelState.AddModelError(string.Empty, "E-posta adresiniz veya şifreniz yanlış."); } } } else { ModelState.AddModelError(string.Empty, "Bu e-posta adresine kayıtlı kullanıcı bulunamamıştır."); } } return(View(loginVM)); }