Ошибка при попытке выполнить поиск LDAP в активном каталоге - PullRequest
2 голосов
/ 08 марта 2012

Я пытаюсь найти пользователя в локальном активном каталоге с помощью Java.
Когда я пытаюсь выполнить код, я получаю следующую ошибку:

Ошибка:

Не удалось выполнить поиск: javax.naming.NamingException: [LDAP: код ошибки 1 - 000004DC: Lda pErr: DSID-0C0906DC, комментарий: для выполнения этой операции необходимо выполнить успешное обнаружение соединения., Данные0, v1db1];оставшееся имя: 'CN = John Doe, OU = Accounts'

Может кто-нибудь сказать мне, что я делаю неправильно?

Мой код:

import java.util.Hashtable;    
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.ldap.LdapContext;

/**
 * Demonstrates how to look up an object.
 * 
 * usage: java Lookup
 */
class Lookup {
    public static void main(String[] args) {

        // Set up the environment for creating the initial context
        Hashtable env = new Hashtable(11);
        env.put(Context.INITIAL_CONTEXT_FACTORY,
                "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL,
                "ldap://localhost:389/DC=PORTAL-UAT,DC=COMPANY,DC=COM");

        try {
            // Create the initial context
            Context ctx = new InitialContext(env);

            // Perform lookup and cast to target type
            LdapContext b = (LdapContext) ctx
                    .lookup("CN=John Doe,OU=Accounts");

            System.out.println(b);

            // Close the context
            ctx.close();
        } catch (NamingException e) {
            System.out.println("Lookup failed: " + e);
        }
    }
}

Ответы [ 2 ]

4 голосов
/ 08 марта 2012

Как говорится в сообщении об ошибке, вы должны выполнить операцию связывания, т.е. войти в AD.Вот учебник Аутентификация LDAP от Oracle.

3 голосов
/ 08 марта 2012

Кодер должен использовать утилиту командной строки ldapsearch, чтобы убедиться, что соединение может быть Установлено, что учетные данные для DN привязки являются правильными. Этот низкоуровневый подход убедитесь, что соединение между клиентской системой и целевым сервером каталогов может быть установлено. это является основным методом устранения неполадок.

Для получения дополнительной информации см. LDAP: Практика программирования

...