Search in sources :

Example 1 with Rule

use of org.passay.Rule in project dataverse by IQSS.

the class PasswordValidatorServiceBean method addStandardValidator.

/**
 * standardValidator
 * <p>
 * Apply Rules 1, 2 and 3.
 */
private void addStandardValidator() {
    int maxLength = getMaxLength();
    int minLength = getMinLength();
    int numberOfCharacteristics = getNumberOfCharacteristics();
    int numberOfConsecutiveDigitsAllowed = getNumberOfConsecutiveDigitsAllowed();
    PasswordValidator passwordValidator = validators.get(ValidatorTypes.StandardValidator);
    if (passwordValidator == null) {
        final List<Rule> rules = new ArrayList<>(4);
        rules.add(dictionarySubstringRule());
        final LengthRule lengthRule = new LengthRule();
        if (maxLength != 0) {
            lengthRule.setMaximumLength(maxLength);
        }
        if (minLength != 0) {
            lengthRule.setMinimumLength(minLength);
        }
        rules.add(lengthRule);
        if (numberOfCharacteristics != 0) {
            rules.add(characterRule(getCharacterRules()));
        }
        rules.add(repeatingDigitsRule(numberOfConsecutiveDigitsAllowed));
        passwordValidator = new PasswordValidator(messageResolver, rules);
        validators.put(ValidatorTypes.StandardValidator, passwordValidator);
    }
}
Also used : LengthRule(org.passay.LengthRule) PasswordValidator(org.passay.PasswordValidator) ArrayList(java.util.ArrayList) DictionaryRule(org.passay.DictionaryRule) CharacterRule(org.passay.CharacterRule) IllegalRegexRule(org.passay.IllegalRegexRule) CharacterCharacteristicsRule(org.passay.CharacterCharacteristicsRule) Rule(org.passay.Rule) DictionarySubstringRule(org.passay.DictionarySubstringRule) LengthRule(org.passay.LengthRule)

Example 2 with Rule

use of org.passay.Rule in project dataverse by IQSS.

the class PasswordValidatorServiceBean method addGoodStrengthValidator.

/**
 * goodStrengthValidator
 * <p>
 * Apply Rule 4: It will forgo all the above three requirements for passwords that have a minimum length of
 * MIN_LENGTH_BIG_LENGTH.
 */
private void addGoodStrengthValidator() {
    int goodStrength = getGoodStrength();
    if (goodStrength != 0) {
        PasswordValidator passwordValidator = validators.get(ValidatorTypes.GoodStrengthValidator);
        if (passwordValidator == null) {
            final GoodStrengthRule lengthRule = new GoodStrengthRule();
            lengthRule.setMinimumLength(goodStrength);
            final List<Rule> rules = Collections.singletonList(lengthRule);
            passwordValidator = new PasswordValidator(messageResolver, rules);
            validators.put(ValidatorTypes.GoodStrengthValidator, passwordValidator);
        }
    }
}
Also used : PasswordValidator(org.passay.PasswordValidator) DictionaryRule(org.passay.DictionaryRule) CharacterRule(org.passay.CharacterRule) IllegalRegexRule(org.passay.IllegalRegexRule) CharacterCharacteristicsRule(org.passay.CharacterCharacteristicsRule) Rule(org.passay.Rule) DictionarySubstringRule(org.passay.DictionarySubstringRule) LengthRule(org.passay.LengthRule)

Aggregations

CharacterCharacteristicsRule (org.passay.CharacterCharacteristicsRule)2 CharacterRule (org.passay.CharacterRule)2 DictionaryRule (org.passay.DictionaryRule)2 DictionarySubstringRule (org.passay.DictionarySubstringRule)2 IllegalRegexRule (org.passay.IllegalRegexRule)2 LengthRule (org.passay.LengthRule)2 PasswordValidator (org.passay.PasswordValidator)2 Rule (org.passay.Rule)2 ArrayList (java.util.ArrayList)1