Это следующая программа, которая отлично подходит для некоторых серверов ADS (развернутых на сервере 2008 года), но не может подключиться к серверу AD, развернутому на сервере AD (развернутому на сервере 2012 года). Я получаю следующее исключение wgile подключенияОшибка LDAP при подключении к серверу AD
[LDAP: код ошибки 49 - 8009030C: LdapErr: DSID-0C0903C5, комментарий: ошибка AcceptSecurityContext, данные 2030, v23f0]
то же исключение произошло во время использования JXplorer также.
Может ли кто-нибудь помочь мне в этом.
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class TestLdap {
public static void main(String[] args) {
String base = "";
String filter = "(objectclass=*)";
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://example.com:389/dc=example,dc=com");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "[email protected]");
env.put(Context.SECURITY_CREDENTIALS, "secret");
try {
DirContext dc = new InitialDirContext(env);
SearchControls sc = new SearchControls();
sc.setSearchScope(SearchControls.OBJECT_SCOPE);
NamingEnumeration ne = null;
while (ne.hasMore()) {
SearchResult sr = (SearchResult) ne.next();
System.out.println(sr.toString()+"\n");
}
dc.close();
} catch (NamingException nex) {
System.err.println("Error: " + nex.getMessage());
}
}
}
Solved. Это была проблема с сетью (брандмауэром). – Santhosh