Created
July 9, 2009 19:12
-
-
Save dnd/143902 to your computer and use it in GitHub Desktop.
This little piece of awesome demonstrates the incredibly complex task of verifying that a password is 8 chars or longer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13.6.1.2 Password Validation Plug-in Code Example | |
import java.io.*; | |
import java.lang.*; | |
import java.util.*; | |
import javax.naming.*; | |
import javax.naming.directory.*; | |
import oracle.ldap.ospf.*; | |
/** | |
* This PRE modify plug-in will check whether the "userPassword" | |
* is greater than 8 characters in length | |
*/ | |
public class CheckPassword extends ServerPluginAdapter { | |
// This PRE modify plug-in takes in a PluginDetail Object | |
// and returns a PluginResult Object | |
public PluginResult pre_modify(PluginDetail plgObj) | |
throws Exception | |
{ | |
try { | |
// Retrieve the LdapOperation Object from the PluginDetail | |
ModifyLdapOperation opObj = (ModifyLdapOperation) | |
plgObj.getLdapOperation(); | |
// Retrieve the LdapModification Object from the LdapOperation | |
LdapModification modObj = opObj.getLdapModification(); | |
// Retrieve the PluginFlexfield Object from the PluginDetail | |
PluginFlexfield flxFldObj = plgObj.getPluginFlexfield(); | |
// Retrieve the custom information from the PluginFlexfield | |
// Get the minimum password length | |
String passwdlength = | |
flxFldObj.getFlexfield("minPwdLength"); | |
// Create a Result Object to return to the OID server | |
PluginResult plgResObj = new PluginResult(); | |
// Check if the LdapModification Object is a NULL | |
// set the appropriate error and error message | |
if (modObj==null) | |
{ | |
throw new PluginException("CheckPassword Plug-in Execution | |
Error"); | |
} | |
// Retrieve the "userPassword" Attribute Value | |
ModificationItem modItem = modObj.getModificationItemAt(0); | |
BasicAttribute attr = (BasicAttribute)modItem.getAttribute(); | |
String attrval = null; | |
if ((attr.getID()).equals("userpassword")) | |
attrval = attr.get(0); | |
// Check for the password length and set appropriate error | |
// and error message | |
if (attrval.length() < Integer.parseInt(passwdlength)) | |
{ | |
throw new PluginException("userPassword is less than 8 | |
characters"); | |
} | |
// Return the PluginResult Object to the OID Server | |
return plgResObj; | |
} | |
// Catch any unexpected exception which may occur and throw | |
// it back to the OID server to log it | |
catch (Exception e) | |
{ | |
throw e; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment