use of org.passay.DictionarySubstringRule 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);
}
}
Aggregations