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
/target
folder in the project directory and copy and paste thecom.wso2.carbon.custom.user.store.manager-1.3.0.jar
toIS_HOME/repository/components/dropins
-
Start the WSO2 IS server
-
Navigate to User Stores -> Add
-
Select the
com.wso2.carbon.custom.user.store.manager.CustomUserStoreManager
as theUser Store Manager Class
from 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/userstores
and 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
property
inside theUserStoreManager
and name itPasswordSpecialWordsCheck
and 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
property
inside theUserStoreManager
and name itPasswordUserAttributesCheck
and define the attributes as shown below.<Property name="PasswordUserAttributesCheck">sn,givenName </Property>
-
To configure the password character length, please edit the
PasswordLengthCheck
property. -
Restart the IS server and the test the password validations.