public async Task <IActionResult> Login(LifeLoginViewModel loginViewModel) { if (!ModelState.IsValid) { return(View(loginViewModel)); } var user = citizenUserRepository .GetUserByNameAndPassword(loginViewModel.Login, loginViewModel.Password); if (user == null) { ModelState.AddModelError(String.Empty, "Такого логина и пароля не существует."); return(View(loginViewModel)); } var recordId = new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()); var recordName = new Claim(ClaimTypes.Name, user.Login); var recordAuthMethod = new Claim(ClaimTypes.AuthenticationMethod, Startup.LifeAuth); var claims = new List <Claim>() { recordId, recordName, recordAuthMethod }; var claimsIdentity = new ClaimsIdentity(claims, Startup.LifeAuth); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await HttpContext.SignInAsync(claimsPrincipal); if (string.IsNullOrEmpty(loginViewModel.ReturnUrl)) { return(RedirectToAction("Index", "Life")); } return(Redirect(loginViewModel.ReturnUrl)); }
public IActionResult Login() { var viewModel = new LifeLoginViewModel(); viewModel.ReturnUrl = Request.Query["ReturnUrl"]; return(View(viewModel)); }