A Custom Secondary User Store manager for WSO2 IS 5.7 that uses Active Directory. This user store manager has the capability to perform the following custom password validations,
-
Password should contain more than 20 characters. (Configurable)
-
Password should comply with 3 of the following to be deemed valid. (Configurable)
- Contain Capital letters [A-Z]
- Contain Simple letters [a-z]
- Contain numbers [0-9]
- Contain a special character [$,_,-,.]
-
Can not change the password twice within 24 hours.
-
Can not contain pre-defined special words (Configurable)
-
Can not contain user attributes, such as first name, last name of user. (Configurable)
- Navigate to the project root directory and execute the following.
mvn clean install-
Navigate to the
/targetfolder in the project directory and copy and paste thecom.wso2.carbon.custom.user.store.manager-1.3.0.jartoIS_HOME/repository/components/dropins -
Start the WSO2 IS server
-
Navigate to User Stores -> Add
-
Select the
com.wso2.carbon.custom.user.store.manager.CustomUserStoreManageras theUser Store Manager Classfrom the dropdown. -
Give a
unique domain name -
Fill in the rest of the details as per your configurations and click
Add -
Navigate to
IS_HOME/repository/deployment/server/userstoresand open the file name with the unique domain name provided in the above steps. -
To configure the special words the password should be validated against, add a new
propertyinside theUserStoreManagerand name itPasswordSpecialWordsCheckand define the special words as shown below.<Property name="PasswordSpecialWordsCheck">SpecialWord1,SpecialWord2</Property> -
To configure the attributes of the user the password should be validated against, add a new
propertyinside theUserStoreManagerand name itPasswordUserAttributesCheckand define the attributes as shown below.<Property name="PasswordUserAttributesCheck">sn,givenName </Property> -
To configure the password character length, please edit the
PasswordLengthCheckproperty. -
Restart the IS server and the test the password validations.