// Standard anonymous search
import java.util.Hashtable;
import java.util.Enumeration;import javax.naming.*;
import javax.naming.directory.*;public class JNDISearch { // Initial context implementation
public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
public static String MY_HOST = "ldap://localhost:389";
public static String MY_SEARCHBASE = "o=Airius.com";
public static String MY_FILTER = "(sn=Carter)"; public static void main(String args[]) {
try { // Hashtable for environmental information
Hashtable env = new Hashtable(); // Specify which class to use for our JNDI provider
env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX); // Specify host and port to use for directory service
env.put(Context.PROVIDER_URL, MY_HOST); // Get a reference to a directory context
DirContext ctx = new InitialDirContext(env); // Specify the scope of the search
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); // Perform the actual search
// We give it a searchbase, a filter and a the constraints
// containing the scope of the search
NamingEnumeration results = ctx.search(MY_SEARCHBASE,
MY_FILTER, constraints); // Now step through the search results
while (results != null && results.hasMore()) {
SearchResult sr = (SearchResult) results.next(); String dn = sr.getName();
System.out.println("Distinguished Name is " + dn); Attributes attrs = sr.getAttributes(); for (NamingEnumeration ne = attrs.getAll();
ne.hasMoreElements(); ) {
Attribute attr = (Attribute) ne.next();
String attrID = attr.getID(); System.out.println(attrID + ":");
for (Enumeration vals = attr.getAll();
vals.hasMoreElements(); ) {
System.out.println("\t" + vals.nextElement());
}
}
System.out.println("\n");
}
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}
import java.util.Hashtable;
import java.util.Enumeration;import javax.naming.*;
import javax.naming.directory.*;public class JNDISearch { // Initial context implementation
public static String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
public static String MY_HOST = "ldap://localhost:389";
public static String MY_SEARCHBASE = "o=Airius.com";
public static String MY_FILTER = "(sn=Carter)"; public static void main(String args[]) {
try { // Hashtable for environmental information
Hashtable env = new Hashtable(); // Specify which class to use for our JNDI provider
env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX); // Specify host and port to use for directory service
env.put(Context.PROVIDER_URL, MY_HOST); // Get a reference to a directory context
DirContext ctx = new InitialDirContext(env); // Specify the scope of the search
SearchControls constraints = new SearchControls();
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); // Perform the actual search
// We give it a searchbase, a filter and a the constraints
// containing the scope of the search
NamingEnumeration results = ctx.search(MY_SEARCHBASE,
MY_FILTER, constraints); // Now step through the search results
while (results != null && results.hasMore()) {
SearchResult sr = (SearchResult) results.next(); String dn = sr.getName();
System.out.println("Distinguished Name is " + dn); Attributes attrs = sr.getAttributes(); for (NamingEnumeration ne = attrs.getAll();
ne.hasMoreElements(); ) {
Attribute attr = (Attribute) ne.next();
String attrID = attr.getID(); System.out.println(attrID + ":");
for (Enumeration vals = attr.getAll();
vals.hasMoreElements(); ) {
System.out.println("\t" + vals.nextElement());
}
}
System.out.println("\n");
}
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}
解决方案 »
- org.apache.jasper.JasperException: Unable to compile class for JSP:
- 关于JAVA遍历方面,实在懵了
- 为什么我下拉列表框取不到Action里的数据,各位大哥来帮我看看啊
- 怎么在服务器启动时自动加载一个类
- jsp中下拉列表框问题
- lucence 搜索引擎问题!
- Axis2 1.3 POJO guide里的例子通过Axis2的Service Achiever插件发布,调用服务问题!
- axis的wsdd发布问题
- 实体Bean能一直在内存中生存,并被多个客户端共享数据吗?
- 请教一个weblogic的问题
- 关于JTable的问题(micalormicalor1)
- 在jb8中建cmp时老是把它自动新建一个包,想重新设置都不行,烦死了,怎么设置的
DN(distinguish name)一定要写对!
我们总工要用microsoft AD活动目录,比如我们的域名是appdomain.edu.com.cn,下面有一个组是appDev,appDev里面有一个用户hdc,我如何查找组的全部信息或个人信息?
sn=buick555, ou=Java Dev, o=development, com=buick.com等
你可以看出DN是从右到左范围减小的。所以,要先给出一个范围o=Airius.com(上程序)一般是一个根
可以给出一个过滤器sn=Carter
这样就可以查找了。希望再查阅AD的相关文档