Commit 89876509 by Nilu

allow special characters in password

parent 875cd680
package performa.utils;
import java.util.Map;
import java.util.regex.*;
import oneit.objstore.*;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.validator.*;
import oneit.security.SecUser;
public class PerformaPasswordValidator extends AttributeValidator
{
@Override
public boolean validate (Map attribMetadata, BaseBusinessClass obj, String fieldName, Object newValue) throws Exception
{
String newPwd = (String) newValue;
Pattern pattern = Pattern.compile("([a-zA-Z.@_]+\\d+[a-zA-Z0-9.@_]*)");
Matcher matcher = pattern.matcher(newPwd);
BusinessObjectParser.assertFieldCondition(matcher.matches(), obj, SecUser.FIELD_Password, "PasswordPatternNotMatched");
// Password must at least 8 characters
BusinessObjectParser.assertFieldCondition(newPwd.length () >= 8, obj, SecUser.FIELD_Password, "PasswordLengthTooShort");
// Password must be less than or equal 16 characters
BusinessObjectParser.assertFieldCondition(newPwd.length () <= 16, obj, SecUser.FIELD_Password, "PasswordLengthTooLong");
return true;
}
}
......@@ -17,11 +17,10 @@
<PARAM name="DBEnumStaticOverride:oneit.business.content.ArticleTemplate" factory="Named" nodename="DBEnumStaticOverride:ArticleTemplates"/>
</NODE>
<NODE name="CONFIG.ORMVALIDATOR" factory="SystemConfiguration">
<PARENT factory="Named" nodename="CONFIG.ORMVALIDATOR:parent"/>
<PARAM name="PasswordValidator" factory="Participant" class="performa.utils.PerformaPasswordValidator" errorType="invalidPassword"/>
<!-- Validator for InvoiceStatus
<PARAM name="InvoiceStatusValidator" factory="Participant" class="oneit.cashflow.orm.InvoiceStatusValidator" errorType="illegalStatus"/>
-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment