Try OpenEdge Now
skip to main content
Customization Guide
Customizing password security : Password security interfaces
 

Password security interfaces

The following sections describe the password security interfaces.
Note: Class implementing 'IPasswordSecurityService' interface should have a constructor that takes 'IPasswordSecurityData' as an argument. For example,
public CustomPasswordSecurityService(IPasswordSecurityData customSecurityData){
super(customSecurityData);
...

}

IPasswordSecurityData

Sample XML to capture the password policy metadata is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<PasswordSecurity>
   <Policies>
      <ChangeAtFirstLogin enable="true"/>
      <Longevity enable="true">
          <PwdExpiration type="user" afterDays="30">
      </Longevity>
      <Notify enable="true">
          <BeforeExpiration days="3"/>
      </Notify>
   </Policies>
   <Rules>
      <MinLength>10<MinLength>
      <MaxLength>64</MaxLength>
      <Charset atleast="3">
          <UpperCase count="1"/>
          <LowerCase count="1"/>
          <Numeric count="2"/>
          <SpecialChar count="1"/>
      </Charset>
      <!-- Starts with lower case alphabet-->
      <RegEx>^[A-Z].*$</RegEx>
    </Rules>
</PasswordSecurity>