naming
Create an Initial Context to a Directory
In this example we are going to see how to create an Initial Context to a Directory. This example uses the JNDI/LDAP service provider to connect to an LDAP server on the local machine.
In order to do that you should :
- Create a
new Hashtable. - Use
put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory") - Use
put(Context.PROVIDER_URL, "ldap://localhost/o=JNDIExample"). - For simple authentication we can use :
env.put(Context.SECURITY_AUTHENTICATION, "simple")env.put(Context.SECURITY_PRINCIPAL, "userDN")env.put(Context.SECURITY_CREDENTIALS, "secret")- Create a new
DirContextusingInitialDirContextmethod .
Let’s see the code:
package com.javacodegeeks.snippets.enterprise;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
public class CreateInitialDirContext {
public static void main(String[] args) {
// This example uses the JNDI/LDAP service provider to connect to an LDAP server on the local machine
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost/o=JNDIExample");
/*
* For simple authentication we can use :
*
* env.put(Context.SECURITY_AUTHENTICATION, "simple");
* env.put(Context.SECURITY_PRINCIPAL, "userDN");
* env.put(Context.SECURITY_CREDENTIALS, "secret");
*/
try {
DirContext ctx = new InitialDirContext(env);
System.out.println("Initial Directory Context created successfully");
} catch (NamingException e) {
System.out.println("Could not create directory context : " + e.getMessage());
}
}
}Example Output:
Initial Directory Context created successfully
This was an example on how to create an Initial Context to a Directory.

