Package org.passay
Class DefaultPasswordValidator
java.lang.Object
org.passay.DefaultPasswordValidator
- All Implemented Interfaces:
PasswordValidator
Default implementation for evaluating multiple password rules against a candidate password. Supports a fail fast flag
to indicate that rule validation should stop if any rule fails.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BiFunction<List<? extends Rule>,PasswordData, Entropy> Calculates the entropy of the givenPasswordDatabased on the password rules specified.private final BiFunction<List<? extends Rule>,PasswordData, Entropy> Entropy provider.private final booleanWhether password validation should fail fast.private final MessageResolverMessage resolver.static final BiFunction<List<? extends Rule>,PasswordData, Entropy> Entropy provider that returns -1.static final MessageResolverMessage resolver that returns null for any rule result detail.Password rules. -
Constructor Summary
ConstructorsConstructorDescriptionDefaultPasswordValidator(boolean failFast, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, MessageResolver resolver, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, MessageResolver resolver, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(boolean failFast, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(MessageResolver resolver, List<? extends Rule> rules) Creates a new default password validator.DefaultPasswordValidator(MessageResolver resolver, Rule... rules) Creates a new default password validator.DefaultPasswordValidator(Rule... rules) Creates a new default password validator. -
Method Summary
Modifier and TypeMethodDescriptionBiFunction<List<? extends Rule>,PasswordData, Entropy> Returns the entropy provider for this validator.Returns the message resolver for this validator.getRules()Returns the password rules for this validator.toString()validate(PasswordData passwordData) Validates the supplied password data against the rules in this validator.
-
Field Details
-
DEFAULT_ENTROPY_PROVIDER
Calculates the entropy of the givenPasswordDatabased on the password rules specified. It's important to note that this function does NOT take into accountIllegalRegexRuleorAllowedRegexRuleas the regular expressions driving the rules may be negative matches. The supplied password data must have an origin ofOrigin.GeneratedorOrigin.User.- See Also:
-
NULL_MESSAGE_RESOLVER
Message resolver that returns null for any rule result detail. -
NO_ENTROPY_PROVIDER
Entropy provider that returns -1. -
passwordRules
Password rules. -
failFast
private final boolean failFastWhether password validation should fail fast. -
messageResolver
Message resolver. -
entropyProvider
Entropy provider.
-
-
Constructor Details
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
rules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
rules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastrules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastrules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
resolver- message resolver.rules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
resolver- message resolver.rules- to validate
-
DefaultPasswordValidator
Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastresolver- message resolver.rules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(boolean failFast, MessageResolver resolver, List<? extends Rule> rules) Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastresolver- message resolver.rules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.- Parameters:
entropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.- Parameters:
entropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(boolean failFast, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastentropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(boolean failFast, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastentropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.- Parameters:
resolver- message resolver.entropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.- Parameters:
resolver- message resolver.entropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(boolean failFast, MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, Rule... rules) Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastresolver- message resolver.entropyProvider- to calculate entropy estimaterules- to validate
-
DefaultPasswordValidator
public DefaultPasswordValidator(boolean failFast, MessageResolver resolver, BiFunction<List<? extends Rule>, PasswordData, Entropy> entropyProvider, List<? extends Rule> rules) Creates a new default password validator.- Parameters:
failFast- whether rule validation should fail fastresolver- message resolver.entropyProvider- to calculate entropy estimaterules- to validate
-
-
Method Details
-
getRules
Description copied from interface:PasswordValidatorReturns the password rules for this validator.- Specified by:
getRulesin interfacePasswordValidator- Returns:
- unmodifiable list of password rules
-
getMessageResolver
Description copied from interface:PasswordValidatorReturns the message resolver for this validator.- Specified by:
getMessageResolverin interfacePasswordValidator- Returns:
- message resolver
-
getEntropyProvider
Description copied from interface:PasswordValidatorReturns the entropy provider for this validator.- Specified by:
getEntropyProviderin interfacePasswordValidator- Returns:
- entropy provider
-
validate
Description copied from interface:PasswordValidatorValidates the supplied password data against the rules in this validator.- Specified by:
validatein interfacePasswordValidator- Parameters:
passwordData- to validate- Returns:
- validation result
-
toString
-