Below an example of a Java function which retrieves the ‘Full User Name’ and ‘email’ adres which is shown within the Cordys User Manager. Furthermore, it retrieves the ‘Full Organization Name’ from the Cordys Organisation Manager.
/**
* This method returns the raadpleger details of the logged-in user.
*
* @return A string array with 3 values:
* - value 1: Full Name of the logged-in user
* - value 2: Email of the logged-in user
* - value 3: Full Name of the organization of the user
*/
public static String[] getRaadplegerDetails()
{
String[] raadplegerDetails = new String[3];
String userDN = BSF.getUser();
String orgDN = BSF.getOrganization();
LDAPDirectory ldir = LDAPDirectory.getDefaultInstance();
LDAPEntry userLdapEntry = ldir.read(userDN);
LDAPEntry orgLdapEntry = ldir.read(orgDN);
// Check if it's an organizational user or an authenticated one.
LDAPAttribute attr = userLdapEntry.getAttribute("objectclass");
String[] classes = attr.getStringValueArray();
boolean found = false;
for (String className : classes)
{
if ("busorganizationaluser".equals(className))
{
found = true;
break;
}
}
// Read the entry of the authenticated user if the passed on DN was of an org user.
if (found)
{
String authUser = LDAPUtils.getAttrValue(userLdapEntry, "authenticationuser");
userLdapEntry = ldir.read(authUser);
}
// Set the Full User Name
raadplegerDetails[0] = LDAPUtils.getAttrValue(userLdapEntry, "description");
// Set the Email
raadplegerDetails[1] = LDAPUtils.getAttrValue(userLdapEntry, "mail");
// Set the Full Organization Name
raadplegerDetails[2] = LDAPUtils.getAttrValue(orgLdapEntry, "description");
}
return raadplegerDetails;
}
No comments:
Post a Comment