search a user's dn from all the users in active directory and user memberOf
import java.util.Hashtable;
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.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class ADTest {
public static void main(String[] args) {
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://ad.example.com:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Administrator,cn=Users,dc=ad,dc=example,dc=com");
env.put(Context.SECURITY_CREDENTIALS, "password");
try {
DirContext ctx = new InitialDirContext(env);
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String searchFilter = "(&(objectClass=user)(sAMAccountName=testuser))";
String searchBase = "dc=ad,dc=example,dc=com";
NamingEnumeration<SearchResult> results = ctx.search(searchBase, searchFilter, searchControls);
SearchResult searchResult = null;
if (results.hasMoreElements()) {
searchResult = (SearchResult) results.nextElement();
Attributes attrs = searchResult.getAttributes();
Attribute attr = attrs.get("memberOf");
for (int i = 0; i < attr.size(); i++) {
String groupDN = (String) attr.get(i);
System.out.println(groupDN);
}
}
ctx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
}
Showing posts with label Java to search user in active directory. Show all posts
Showing posts with label Java to search user in active directory. Show all posts
Java for searching a user's dn from all the users in active directory
Subscribe to:
Posts (Atom)
Basic Perfomance Tuning For stuck threads and response times
Documentation for performance tuning: https://docs.oracle.com/en/middleware/fusion-middleware/12.2.1.4/asper/redundant-cross-references-remo...
-
Deploying the custom jar into the OIM placeholder library The placeholder library is the file oracle.iam.ui.custom-dev-starter-pack.war. Thi...
-
1) Download Connector Server The minimum requirements to run a .NET Connector Server 12.2.1.3.0 are: Microsoft Windows Server 2003, 2008,...
-
Refresh Role Memberships schedule job is failing The schedule job "Refresh Role Memberships" is failing ever...