User guide

Appendix A: Samples of User Program Descriptions
A-12
Displaying the User Lock Status
This sample program assumes the environment setup below. Change the setup according to the actual
environment used.
The public directory at creation of the repository is "ou=interstage,o=fujitsu,dc=com".
The storage location of user information is "ou=User,ou=interstage,o=fujitsu,dc=com".
RDN of user information is expressed by "cn".
The name of the user whose lock status is to be displayed is specified for "user" in java.lang.String.
The result of common preprocessing is used as the value of "ctx".
Description of User Program
Example
Pre-processing
:
String [] retAttributes = new String [1];
retAttributes[0] = "ssoUserStatus";
SearchControls sc = new SearchControls();
sc.setSearchScope(SearchControls.OBJECT_SCOPE);
sc.setReturningAttributes(retAttributes);
sc.setCountLimit(1);
sc.setTimeLimit(5 * 1000); // 5 seconds
String filter = "(cn=" + user + ")";
String dn = "cn=" + user + ",ou=User,ou=interstage,o=fujitsu,dc=com";
NamingEnumeration ne = ctx.search(dn, filter, sc);
while(ne.hasMore()) {
SearchResult sr = (SearchResult)ne.next();
Attributes attrs = sr.getAttributes();
if(attrs != null) {
Attribute a = attrs.get("ssoUserStatus");
if(a == null) {
System.out.println("Not locked");
return;
} else {
String value = (String)a.get();
if(value.compareToIgnoreCase("locked") == 0) {
System.out.println("Locked");
return;
} else {
System.out.println("Not locked");
return;
}