コード例 #1
0
        public LoginValidationResult ValidateLoginRequest(LoginLoginRequest loginLoginRequest)
        {
            var entity = dbContext.Users.Where(u => u.Email == loginLoginRequest.Email).FirstOrDefault();
            var valid  = false;

            if (entity != null)
            {
                valid = entity.Password == User.Hash(loginLoginRequest.Password);

                if (valid)
                {
                    logger.LogInformation($"User login for {loginLoginRequest.Email} accepted");
                }
                else
                {
                    logger.LogInformation($"User login for {loginLoginRequest.Email} denied, password not valid");
                }
            }
            else
            {
                logger.LogInformation($"User login for {loginLoginRequest.Email} denied, no user exists");
            }

            return(new LoginValidationResult(valid, entity));
        }
コード例 #2
0
        public IActionResult Login([FromForm] LoginLoginRequest loginRequest)
        {
            var validator = new LoginLoginRequestValidation(loginRequest);
            var result    = userLogin.ValidateLoginRequest(loginRequest);

            if (validator.IsValid() && result.Valid)
            {
                userLogin.Login(result);

                if (result.RequiresAuthenticator)
                {
                    return(Redirect("/Authenticator/Validate"));
                }

                return(Redirect("/"));
            }

            var viewModel = new LoginLoginViewModel()
            {
                Messages = validator.GetMessages()
            };

            if (!result.Valid && result.User == null)
            {
                viewModel.Messages.Add("Dit emailadres bestaat niet");
            }
            else if (!result.Valid)
            {
                viewModel.Messages.Add("De combinatie van de gebruikersnaam en/of wachtwoord is onjuist");
            }

            return(View(viewModel));
        }
コード例 #3
0
 public LoginLoginRequestValidation(LoginLoginRequest loginRequest)
 {
     this.loginRequest = loginRequest;
 }