求LDAP在JAVA中取所有用户信息的方法。
下面是我连接的方式,并且能成功通过AD验证:publicLdapContextADTest(){try{Hashtable<String,String>ldapEnv=n...
下面是我连接的方式,并且能成功通过AD验证:
public LdapContext ADTest() {
try {
Hashtable<String, String> ldapEnv = new Hashtable<String, String>();
ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
ldapEnv.put(Context.PROVIDER_URL, "ldap://10.**.16.**");
ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
ctx = new InitialLdapContext(ldapEnv, null);
return ctx;
} catch (Exception e) {
System.out.println(" bind error: " + e);
e.printStackTrace();
return null;
}
}
下面这个登陆的方法也能成功运行
public String authenticate(){
try{
ctx=this.ADTest();
Control[] connCtls = new Control[] {};
ctx.getRequestControls();
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, "dc=***,dc=cn");
ctx.reconnect(connCtls);
return "ss";
}catch (AuthenticationException e){
return "ssd";
}catch (NamingException e){
return "ssd";
}finally{ ctx.close(); }
但是我想在他们这个数据库中取所有用户的信息,请教各位大神,也就是类似ctx.reconnect(connCtls); 的方法,只不过要返回所有用户信息。或者如果需要向客户要什么信息告诉我然后怎么做也行。如有需要或者我说的不清楚,我QQ:51268788 展开
public LdapContext ADTest() {
try {
Hashtable<String, String> ldapEnv = new Hashtable<String, String>();
ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
ldapEnv.put(Context.PROVIDER_URL, "ldap://10.**.16.**");
ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");
ctx = new InitialLdapContext(ldapEnv, null);
return ctx;
} catch (Exception e) {
System.out.println(" bind error: " + e);
e.printStackTrace();
return null;
}
}
下面这个登陆的方法也能成功运行
public String authenticate(){
try{
ctx=this.ADTest();
Control[] connCtls = new Control[] {};
ctx.getRequestControls();
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, "dc=***,dc=cn");
ctx.reconnect(connCtls);
return "ss";
}catch (AuthenticationException e){
return "ssd";
}catch (NamingException e){
return "ssd";
}finally{ ctx.close(); }
但是我想在他们这个数据库中取所有用户的信息,请教各位大神,也就是类似ctx.reconnect(connCtls); 的方法,只不过要返回所有用户信息。或者如果需要向客户要什么信息告诉我然后怎么做也行。如有需要或者我说的不清楚,我QQ:51268788 展开
2013-06-27
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询