2016-02-02 5 views
0

Я имею следующий Java код, но я получаю сообщение об ошибке представил подробную информациюКак подключиться к серверу LDAP, используя следующие данные из java?

password="some"; domain name=ABF.ADDAS.com user name=SADFA.com\username or SADFA\username

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://ip:389"); 
      // 
      env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
      env.put(Context.SECURITY_PRINCIPAL, ""); 
      env.put(Context.SECURITY_CREDENTIALS, "password"); 

ответ

0

Просто позвоните InitialLdapContext с параметрами: Ошибка аутентификации

env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
env.put(Context.SECURITY_PRINCIPAL, domainName + "\\" + username); 
env.put(Context.SECURITY_CREDENTIALS, password); 

try{ 
    return new InitialLdapContext(env, null); 
} 
catch(javax.naming.CommunicationException e){ 
    throw new NamingException("Failed to connect to " + domainName + ((serverName==null)? "" : " through " + serverName)); 
} 
catch(NamingException e){ 
    throw new NamingException("Failed to authenticate " + username + "@" + domainName + ((serverName==null)? "" : " through " + serverName)); 
} 
+0

LDAP: LDAP: код ошибки 49 - 80090308 : LdapErr: DSID-0C090334, комментарий: Ошибка AcceptSecurityContext, данные 52e, vece –

+0

http://wiki.servicenow.com/index.php?title=LDAP_Error_Codes LDAP_INVALID_CREDENTIALS –

+0

Также попробуйте 'env.put (Context.SECURITY_PRINCIPAL, имя пользователя +" @ "+ domainName);' –