protected void CreateUserButton_Clicked(object sender, EventArgs e) { string userName = UserNameTextBox.Text; string password = PasswordTextBox.Text; string emailAddress = EmailAddressTextBox.Text; if (userName == "" || password == "" || emailAddress == "") { return; } //Check if user exists if (CuplexLib.User.UserNameExists(userName)) { ShowModalMessage(Utils.GetResourceText("RegisterUserUsernameTaken")); return; } else if (!Utils.ValidateEmail(emailAddress)) { ShowModalMessage(Utils.GetResourceText("RegisterUserIncorrectEmailAddress")); return; } else if (password != PasswordConfirmTextBox.Text) { ShowModalMessage(Utils.GetResourceText("RegisterUserPasswordMissmatch")); return; } //Verify password strength PasswordVerifier passwordVerifier = new PasswordVerifier(); PasswordVerifier.PasswordVerifierResult passwordVerificationResult = passwordVerifier.VerifyPassword(password); if (passwordVerificationResult != PasswordVerifier.PasswordVerifierResult.PasswordIsOk) { string errorMessage = "<b>" + Utils.GetResourceText(Enum.GetName(typeof(PasswordVerifier.PasswordVerifierResult), passwordVerificationResult)) + "</b>"; errorMessage += "<BR/>" + string.Format(Utils.GetResourceText("PasswordRules"), passwordVerifier.MinimumPasswordLength, passwordVerifier.MinimumPasswordCapitalLetters, passwordVerifier.MinimumPasswordDigits); ShowModalMessage(errorMessage); return; } //Verify UserName if (!UserNameVerifier.VerifyUserName(userName)) { ShowModalMessage(Utils.GetResourceText("IncorrectUserName")); return; } CuplexLib.User createdUser = CuplexLib.User.CreateUser(userName, password, emailAddress); if (createdUser != null) { AccessControl.CreateUserSession(createdUser.UserName); Response.Redirect(cms.Current.GetRootPath); } }
public async Task <UserViewModel> GetVerifiedUserAsync(LoginViewModel model, CancellationToken ct) { var user = await _userRepository.GetByEmailAsync(model.Email, ct : ct); if (user is null) { return(null); } return(PasswordVerifier.VerifyPassword(model.Password, new PasswordSecret(user)) ? user.Adapt <UserViewModel>() : null); }