User guide

Appendix A: Samples of User Program Descriptions
A-10
Deleting a User Role
This sample program assumes the environment setup below. Change the setup according to the actual
environment used.
The public directory for 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 role is to be deleted is specified for "user" in java.lang.String.
The role to be deleted is specified for "role" in java.lang.String.
The result of common preprocessing is used as "ctx".
Description of User Program
Example
Pre-processing
:
String [] retAttributes = new String[1];
retAttributes[0] = "ssoRoleName";
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);
Attribute roleAttr = null;
while(ne.hasMore()) {
SearchResult sr = (SearchResult)ne.next();
Attributes attrs = sr.getAttributes();
if(attrs != null) {
roleAttr = attrs.get("ssoRoleName");
if(roleAttr != null) {
break;
}
}
}
if(roleAttr != null) {
if(roleAttr.remove(role)) {
ModificationItem[] mods = new ModificationItem[1];
mods[0] = new