Retrive user info from LDAP

Below code will connect the LDAP server and retrives the user information

import java.util.Hashtable;

import javax.naming.AuthenticationException;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;

public class SimpleLDAPImpl {

String userName = “YourUserId“;
String passWord = “Password“;
String base = “ou=People,dc=localentity,dc=com“;

private Hashtable<String, String> getEnvInfo() {
String dn = “uid=” + userName + “,” + base;
String ldapURL = “ldap://ldap.localentity.com:389“;
// 636 port for SSL

Hashtable<String, String> authEnv = new Hashtable<String, String>();

authEnv.put(Context.INITIAL_CONTEXT_FACTORY,
“com.sun.jndi.ldap.LdapCtxFactory”);
authEnv.put(Context.PROVIDER_URL, ldapURL);
authEnv.put(Context.SECURITY_AUTHENTICATION, “simple”);
authEnv.put(Context.SECURITY_PRINCIPAL, dn);
authEnv.put(“basedn”, “dc=localentity,dc=com“);
authEnv.put(Context.SECURITY_CREDENTIALS, passWord);

return authEnv;
}

private void userAuth() {
try {
DirContext authContext = new InitialDirContext(getEnvInfo());
System.out.println(“Authentication Success! “);
} catch (AuthenticationException authEx) {
System.out.println(“Authentication failed!”);
authEx.printStackTrace();
} catch (NamingException namEx) {
System.out.println(“Something went wrong!”);
namEx.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}

private void userProfile() {
try {
//            LdapContext dirCtx = new InitialLdapContext(getEnvInfo(), null);
DirContext dirCtx = new InitialDirContext(getEnvInfo());
System.out.println(“Authentication Success! “);

Attributes answer = dirCtx.getAttributes(“uid=”+userName+”,”+base);
for (NamingEnumeration ae = answer.getAll(); ae.hasMore();) {
Attribute attr = (Attribute)ae.next();
System.out.print(” Attribute: ” + attr.getID());
for(NamingEnumeration e = attr.getAll(); e.hasMore();) {
System.out.println(” Value: “+ e.next());
}
}
} catch (AuthenticationException authEx) {
System.out.println(“Authentication failed!”);
authEx.printStackTrace();
} catch (NamingException namEx) {
System.out.println(“Something went wrong!”);
namEx.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
}
}

public static void main(String[] args) {
SimpleLDAPImpl ldap = new SimpleLDAPImpl();
//  ldap.userAuth();
ldap.userProfile();
}
}

Note: Change red colored values with your info


###################### OUTPUT #####################

Authentication Success!
Attribute: ApptDeptName2 Value: Business Systems
Attribute: ApptDeptName1 Value: Business Systems
Attribute: givenName Value: Krishna
Attribute: sn Value: Manchikalapudi
Attribute: ou Value: Business Systems
Attribute: l Value: San Francisco
Attribute: mail Value: krishna@localentity.com
Attribute: PersonAffiliation Value: staff
Attribute: ApptTitle1 Value: Application Developer
Attribute: uid Value: krishna
Attribute: objectClass Value: top
Value: person
Value: organizationalPerson
Value: inetOrgPerson
Value: Person
Value: localentityPerson
Value: mailRecipient
Value: inetUser
Value: userPresenceProfile
Value: ipUser
Value: inetLocalMailRecipient
Value: inetMailUser
Value: radiusprofile
Attribute: cn Value: Krishna Manchikalapudi
Attribute: title Value: Application Developer
Attribute: employeeNumber Value: 703859472



Below code will connect the LDAP server and retrives the user information import java.util.Hashtable; import javax.naming.AuthenticationException; import javax.naming.Context; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.naming.ldap.InitialLdapContext; import javax.naming.ldap.LdapContext; public class SimpleLDAPImpl { String userName = “YourUserId“; String passWord = “Password“; String base = “ou=People,dc=localentity,dc=com“; private Hashtable<String, String> getEnvInfo() {…

Leave a Reply

Your email address will not be published. Required fields are marked *