// 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);
}
}
}
解决方案 »
- 关于SSH Secure Shell显示服务器Tomcat后台内容
- struts2费解的问题
- 怎样深度克隆一个ResultSet对象??
- hibernate中应用的数据库改变了,还需不需要重新生成实体类和相应的配置文件吗?
- 用jdbc连接sql server时window登录方式时出问题?
- 怎样利用struts修改一条记录!!!!
- 求 基于WEBLOGIC的JNDI的链接池源代码
- 解决者另开贴送分1000!食言者TJJDS!!如何登录FTP及进行上传、下载等操作????
- Struts问题
- 关于jb7开发web app
- 关于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的相关文档