public async Task <ActionResult> Logowanie(LogowanieViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } var rezultat = await LogowanieZarzadzanie.PasswordSignInAsync(model.Login, model.Haslo, model.ZapamietajMnie, shouldLockout : false); if (rezultat == SignInStatus.Success) { var uzytkownik = dbContext.Users.FirstOrDefault(x => x.UserName == model.Login); if (UzytkownikZarzadzanie.IsEmailConfirmedAsync(uzytkownik.Id).Result == false) { rezultat = SignInStatus.LockedOut; AutoryzacjaZarzadzanie.SignOut(DefaultAuthenticationTypes.ApplicationCookie); } } switch (rezultat) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("WyslijKod", new { ReturnUrl = returnUrl, ZapamietajMnie = model.ZapamietajMnie })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login Attempt."); return(View(model)); } }
public async Task <ActionResult> ZewnetrznyLoginPowrot(string zwrocUrl) { var loginInfo = await AutoryzacjaZarzadzanie.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("Login")); } var rezultat = await LogowanieZarzadzanie.ExternalSignInAsync(loginInfo, isPersistent : false); switch (rezultat) { case SignInStatus.Success: return(RedirectToLocal(zwrocUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("WyslijKod", new { ReturnUrl = zwrocUrl, RememberMe = false })); case SignInStatus.Failure: default: ViewBag.ReturnUrl = zwrocUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; return(View("ZewnetrznyLoginPotwierdzenie", new ZewnetrznePotwierdzenieLogowaniaViewModel { Email = loginInfo.Email })); } }
public ActionResult Wyloguj() { AutoryzacjaZarzadzanie.SignOut(DefaultAuthenticationTypes.ApplicationCookie); if (Session["koszyk"] != null) { Session["koszyk"] = null; } return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> ZewnetrznePotwierdzenieLogowania(ZewnetrznePotwierdzenieLogowaniaViewModel model, string zwrocUrl) { if (User.Identity.IsAuthenticated) { return(RedirectToAction("Index", "Zarzadzaj")); } if (ModelState.IsValid) { var info = await AutoryzacjaZarzadzanie.GetExternalLoginInfoAsync(); if (info == null) { return(View("ZewnetrzneLogowanieNiepowodzenie")); } var uzytkownik = new Uzytkownik { UserName = model.Email, Email = model.Email }; var rezultat = await UzytkownikZarzadzanie.CreateAsync(uzytkownik); if (rezultat.Succeeded) { rezultat = await UzytkownikZarzadzanie.AddLoginAsync(uzytkownik.Id, info.Login); if (rezultat.Succeeded) { await LogowanieZarzadzanie.SignInAsync(uzytkownik, isPersistent : false, rememberBrowser : false); return(RedirectToLocal(zwrocUrl)); } } AddError(rezultat); } ViewBag.ReturnUrl = zwrocUrl; return(View(model)); }