public SignInStatus PasswordSignIn(LogowanieViewModel model) { SignInStatus result = SignInStatus.Failure; Uzytkownik user = new UzytkownikRepozytorium().Pobierz(model.Login, model.Haslo); if (user != null) { result = SignInStatus.Success; var ident = new ClaimsIdentity( new[] { new Claim(ClaimTypes.NameIdentifier, model.Login), new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"), new Claim(ClaimTypes.Name, model.Login), new Claim(ClaimTypes.Role, ((RolaUzytkownika)user.Rola).ToString()), new Claim("UserId", user.Id.ToString()) }, DefaultAuthenticationTypes.ApplicationCookie); OwinContext.Authentication.SignIn(new AuthenticationProperties { IsPersistent = true, ExpiresUtc = model.ZapamietajMnie ? (DateTime?)DateTime.UtcNow.AddDays(7) : null // jezeli wybrano zapamietaj mnie to uzytkownik bedzie zalogowany przez 7 dni }, ident); result = SignInStatus.Success; Session["uzytkownik"] = user; //SessionHelper.LoggedUser = user; //SessionHelper.UserId = user.Id; } return(result); }
public ActionResult Zaloguj(LogowanieViewModel model) { try { if (ModelState.IsValid == true) { var result = new ApplicationSignInManager(HttpContext.GetOwinContext()).PasswordSignIn(model); switch (result) { case SignInStatus.Success: return(RedirectToAction("Index", "Home")); case SignInStatus.LockedOut: case SignInStatus.RequiresVerification: case SignInStatus.Failure: default: ModelState.AddModelError("Haslo", "Niepoprawny login lub hasło"); return(View("Logowanie", model)); } } else { return(View("Logowanie", model)); } } catch (Exception ex) { LogHelper.Log.Error(ex); return(View("Error")); } }
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 Logowanie() { InitializeComponent(); LogowanieViewModel lvm = new LogowanieViewModel(); DataContext = lvm; if (lvm.CloseAction == null) { lvm.CloseAction = new Action(this.Close); } }