I have already mentioned about how to
set up LDAP server within Apache DS.Now you can add users to LDAP server by importing
example.ldif file or creating users from scratch using
this post.
After following above steps you can view LDAP browser in Apache DS as follows,
Ex:-
Now it is the time to retrieve the users from LDAP server.
For that mainly I am using JAVA technology and Eclipse IDE.
Following is the simple code stuffs to retrieve all the users in LDAP server relevant to my LDAP browser as above and change colored stuffs which suit for your settings,
LdapSearch.java
import java.util.Properties;
import javax.naming.Context;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
public class LdapSearch {
public static void main(String[] args) throws Exception {
Properties env = new Properties(); env.put("java.naming.factory.initial","com.sun.jndi.ldap.LdapCtxFactory");
env.put("java.naming.ldap.version", "
3");
env.put("java.naming.provider.url", "ldap://localhost:10389");
env.put(Context.SECURITY_PRINCIPAL, "
cn=jayan,ou=users,o=wso2");env.put(Context.SECURITY_CREDENTIALS, "
075");
env.put(Context.SECURITY_AUTHENTICATION, "
simple");
DirContext ctx = null;
try {
ctx = new InitialDirContext(env);
String url="ldap://localhost:10389/ou=users,o=wso2";
// try changing yellow stuffs
NamingEnumeration listResults = null;
listResults = ctx.list(url);
while (listResults.hasMore()) {
NameClassPair ncp = (NameClassPair) listResults.next();
System.out.println(ncp.getName());
// users are here
}
} catch (NamingException e) {
e.printStackTrace();
}
}
Output :-
Download LdapSearch.java file ...