public async Task <IActionResult> AdminLogIn(AdminLogInViewModel lvm) { if (ModelState.IsValid) { //find user by their email var user = await _userManager.FindByEmailAsync(lvm.Email); var result = await _signInManager.PasswordSignInAsync(lvm.Email, lvm.Password, lvm.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { const string issure = "www.Erik.com"; //claim list List <Claim> myClaims = new List <Claim>(); //claim users name is their email adress Claim claim1 = new Claim(ClaimTypes.Name, user.Email, ClaimValueTypes.String, issure); myClaims.Add(claim1); //claim users role Claim claim2 = new Claim(ClaimTypes.Role, "Administrator", ClaimValueTypes.String, issure); myClaims.Add(claim2); //claim for age Claim claim3 = new Claim(ClaimTypes.DateOfBirth, user.Birthday.Date.ToString(), ClaimValueTypes.Date); myClaims.Add(claim3); //claim likes dogs Claim claim4 = new Claim(ClaimTypes.Email, user.Email, ClaimValueTypes.String, issure); myClaims.Add(claim4); var userIdentity = new ClaimsIdentity("Registration"); userIdentity.AddClaims(myClaims); var userPrincipal = new ClaimsPrincipal(userIdentity); User.AddIdentity(userIdentity); await HttpContext.SignInAsync( "MyCookieLogin", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(30), IsPersistent = false, AllowRefresh = false }); return(RedirectToAction("Index", "Home")); } } string error = "you are wrong"; ModelState.AddModelError("", error); return(View()); }
public async Task <bool> TryLoginAsync(AdminLogInViewModel viewModel) { // Create DB schema (first time) //var createSchemaResult = await _identityContext.Database.EnsureCreatedAsync(); // Create a hard coded user (first time) // var createResult = await _userManager.CreateAsync(new IdentityUser("Admin"), "Password_123"); var loginResult = await _signInManager.PasswordSignInAsync(viewModel.Username, viewModel.Password, false, false); return(loginResult.Succeeded); }
public async Task <IActionResult> AdminLogIn(AdminLogInViewModel lvm) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(lvm.Email, lvm.Password, lvm.RememberMe, lockoutOnFailure : false); if (result.Succeeded) { return(RedirectToAction("Index", "Home")); } } string error = "you are wrong"; ModelState.AddModelError("", error); return(View()); }
public async Task<IActionResult> Login(AdminLogInViewModel viewModel) { if (!ModelState.IsValid) return View(viewModel); // Check if credentials is valid (and set auth cookie) if (!await _service.TryLoginAsync(viewModel)) { // Show login error ModelState.AddModelError(nameof(AdminLogInViewModel.Username), "Invalid credentials"); return View(viewModel); } // Redirect user if (string.IsNullOrWhiteSpace(viewModel.ReturnUrl)) { //return RedirectToAction(nameof(HomeController.Index), "Home"); return Redirect("/2hMjOzkAC0iayI1m6IeDhQ/Dashboard"); } else return Redirect(viewModel.ReturnUrl); }
public IActionResult Login(string returnUrl) { var model = new AdminLogInViewModel { ReturnUrl = returnUrl }; return View(model); }