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)); }
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)); }
public LoginLoginRequestValidation(LoginLoginRequest loginRequest) { this.loginRequest = loginRequest; }