Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public IActionResult Login()
        {
            var viewModel = new LifeLoginViewModel();

            viewModel.ReturnUrl = Request.Query["ReturnUrl"];
            return(View(viewModel));
        }