Package org.opends.server.extensions
Class UniqueCharactersPasswordValidator
- java.lang.Object
-
- org.opends.server.api.PasswordValidator<UniqueCharactersPasswordValidatorCfg>
-
- org.opends.server.extensions.UniqueCharactersPasswordValidator
-
- All Implemented Interfaces:
ConfigurationChangeListener<UniqueCharactersPasswordValidatorCfg>
public final class UniqueCharactersPasswordValidator extends PasswordValidator<UniqueCharactersPasswordValidatorCfg> implements ConfigurationChangeListener<UniqueCharactersPasswordValidatorCfg>
This class provides an OpenDS password validator that may be used to ensure that proposed passwords contain at least a specified number of different characters.
-
-
Constructor Summary
Constructors Constructor Description UniqueCharactersPasswordValidator()
Creates a new instance of this unique characters password validator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResult
applyConfigurationChange(UniqueCharactersPasswordValidatorCfg configuration)
Applies the configuration changes to this change listener.com.forgerock.opendj.ldap.controls.PasswordQualityAdviceResponseControl.Criteria
createPasswordQualityCriteria()
Returns a password quality criteria corresponding to the type and parameters of this validator for use in aPasswordQualityAdviceResponseControl
.void
finalizePasswordValidator()
Performs any finalization that might be required when this password validator is unloaded.void
initializePasswordValidator(UniqueCharactersPasswordValidatorCfg configuration)
Initializes this password validator based on the information in the provided configuration entry.boolean
isConfigurationChangeAcceptable(UniqueCharactersPasswordValidatorCfg configuration, List<LocalizableMessage> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.boolean
passwordIsAcceptable(ByteString newPassword, Set<ByteString> currentPasswords, Operation operation, Entry userEntry, LocalizableMessageBuilder invalidReason)
Indicates whether the provided password is acceptable for use by the specified user.-
Methods inherited from class org.opends.server.api.PasswordValidator
isConfigurationAcceptable
-
-
-
-
Method Detail
-
initializePasswordValidator
public void initializePasswordValidator(UniqueCharactersPasswordValidatorCfg configuration)
Description copied from class:PasswordValidator
Initializes this password validator based on the information in the provided configuration entry.- Specified by:
initializePasswordValidator
in classPasswordValidator<UniqueCharactersPasswordValidatorCfg>
- Parameters:
configuration
- The configuration to use to initialize this password validator.
-
finalizePasswordValidator
public void finalizePasswordValidator()
Description copied from class:PasswordValidator
Performs any finalization that might be required when this password validator is unloaded. No action is taken in the default implementation.- Overrides:
finalizePasswordValidator
in classPasswordValidator<UniqueCharactersPasswordValidatorCfg>
-
passwordIsAcceptable
public boolean passwordIsAcceptable(ByteString newPassword, Set<ByteString> currentPasswords, Operation operation, Entry userEntry, LocalizableMessageBuilder invalidReason)
Description copied from class:PasswordValidator
Indicates whether the provided password is acceptable for use by the specified user. If the password is determined to be unacceptable, then a human-readable explanation should be appended to the provided buffer.- Specified by:
passwordIsAcceptable
in classPasswordValidator<UniqueCharactersPasswordValidatorCfg>
- Parameters:
newPassword
- The proposed clear-text password that should be validated.currentPasswords
- The set of clear-text current passwords for the user (if available). Note that the current passwords may not always be available, and this may not comprise entire set of passwords currently for the user.operation
- The operation that is being used to set the password. It may be an add, a modify, or a password modify operation.userEntry
- The entry for the user whose password is being changed.invalidReason
- The buffer to which the human-readable explanation should be appended if it is determined that the password is not acceptable.- Returns:
true
if the password is acceptable, orfalse
if not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(UniqueCharactersPasswordValidatorCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:ConfigurationChangeListener
Indicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptable
in interfaceConfigurationChangeListener<UniqueCharactersPasswordValidatorCfg>
- Parameters:
configuration
- The new configuration containing the changes.unacceptableReasons
- A list that can be used to hold messages about why the provided configuration is not acceptable.- Returns:
- Returns
true
if the proposed change is acceptable, orfalse
if it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(UniqueCharactersPasswordValidatorCfg configuration)
Description copied from interface:ConfigurationChangeListener
Applies the configuration changes to this change listener.- Specified by:
applyConfigurationChange
in interfaceConfigurationChangeListener<UniqueCharactersPasswordValidatorCfg>
- Parameters:
configuration
- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
createPasswordQualityCriteria
public com.forgerock.opendj.ldap.controls.PasswordQualityAdviceResponseControl.Criteria createPasswordQualityCriteria()
Description copied from class:PasswordValidator
Returns a password quality criteria corresponding to the type and parameters of this validator for use in aPasswordQualityAdviceResponseControl
.- Specified by:
createPasswordQualityCriteria
in classPasswordValidator<UniqueCharactersPasswordValidatorCfg>
- Returns:
- A password quality criteria corresponding to the type and parameters of this validator.
-
-