Package org.appng.core.security
Class ConfigurablePasswordPolicy
- java.lang.Object
-
- org.appng.core.security.ConfigurablePasswordPolicy
-
- All Implemented Interfaces:
PasswordPolicy
public class ConfigurablePasswordPolicy extends Object implements PasswordPolicy
A configurablePasswordPolicy
using aPasswordValidator
.
A multiline platform property namedconfigurablePasswordPolicy
can be used for configuration, defaults as shown:minLowerCase = 1 minUppercase = 1 minDigits = 1 minSpecialChars = 1 allowedSpecialChars = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ minLength = 8 maxLength = 255 useHistory = true useUsername = true numCharacterGroups = 4 allowOtherCharacters = false allowWhiteSpace = false generateLength = 8 generateLowerCase = 3 generateUppercase = 3 generateDigits = 1 generateSpecialChars = 1
- Author:
- Matthias Müller
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.appng.api.auth.PasswordPolicy
PasswordPolicy.ValidationResult
-
-
Field Summary
-
Fields inherited from interface org.appng.api.auth.PasswordPolicy
LOWERCASE, NUMBER, PUNCT, UPPERCASE
-
-
Constructor Summary
Constructors Constructor Description ConfigurablePasswordPolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure(Properties platformProperties)
Configures thePasswordPolicy
String
generatePassword()
Generates a new random password that matches the requirements and returns it.String
getErrorMessageKey()
org.passay.PasswordValidator
getValidator()
boolean
isValidPassword(char[] password)
PasswordPolicy.ValidationResult
validatePassword(String username, char[] currentPassword, char[] password)
Validates the password an returns aPasswordPolicy.ValidationResult
-
-
-
Method Detail
-
configure
public void configure(Properties platformProperties)
Description copied from interface:PasswordPolicy
Configures thePasswordPolicy
- Specified by:
configure
in interfacePasswordPolicy
- Parameters:
platformProperties
- the platform'sProperties
-
isValidPassword
public boolean isValidPassword(char[] password)
-
validatePassword
public PasswordPolicy.ValidationResult validatePassword(String username, char[] currentPassword, char[] password)
Description copied from interface:PasswordPolicy
Validates the password an returns aPasswordPolicy.ValidationResult
- Specified by:
validatePassword
in interfacePasswordPolicy
- Parameters:
username
- the username (can benull
)currentPassword
- the current password (can benull
)password
- the new password (must not benull
)- Returns:
- the validation result
-
getErrorMessageKey
public String getErrorMessageKey()
-
generatePassword
public String generatePassword()
Description copied from interface:PasswordPolicy
Generates a new random password that matches the requirements and returns it.- Specified by:
generatePassword
in interfacePasswordPolicy
- Returns:
- the randomly generated password
-
getValidator
public org.passay.PasswordValidator getValidator()
-
-