Как подключиться к локальному хосту с помощью UnboundID LDAP SDK?

Как подключиться к локальному хосту с помощью UnboundID LDAP SDK? Я бы подумал, что это довольно прямолинейно, но, возможно, нет. Я отлично подключаюсь, используя следующий код, но я хотел бы иметь возможность просто использовать соединение с лока-хостом и не проходить аутентификацию.

С подключением я выполняю ряд операций добавления/удаления/изменения, которые отлично работают с приведенным ниже подключением.

public LDAPConnection connect(LdapConnectionModel connectionModel)
{
    this.connectionModel = connectionModel;
    try
    {
        // Determine is SSL port was specified
        int port = connectionModel.isSslEnabled() ? SSL_PORT : PORT;

        // Determined bind DN
        String bindDN = connectionModel.getUsername() + "@" + connectionModel.getDomain();

        // Connect
        connection = new LDAPConnection(connectionModel.getHost(), port, bindDN, String.valueOf(connectionModel.getPassword()));

        // Clear out our password
        connectionModel.setPassword(new char[] {});
    }
    catch (LDAPException e)
    {
        LOG.warning("CONNECTION FAILED: " + e.getMessage());
        LOG.warning(e.getMessage());
    }
    return connection;
}

Например, получить такое соединение нормально, но затем я получаю эту ошибку: «Для выполнения этой операции необходимо выполнить успешную проверку соединения».

// Connect
connection = new LDAPConnection("localhost",389);

person JBuenoJr    schedule 30.07.2013    source источник
comment
Какое отношение использование сервера, прослушивающего соединения на localhost, имеет к тому, аутентифицируется ли клиент LDAP на сервере? Клиенты LDAP должны аутентифицироваться на сервере для достижения состояния авторизации, необходимого серверу для выполнения операций LDAP от имени клиента, независимо от того, прослушивает ли сервер соединения на localhost или где-то еще. Возможно, я не понимаю вопроса.   -  person Terry Gardner    schedule 30.07.2013
comment
@TerryGardner спасибо за ответ. Пожалуйста, смотрите мое редактирование с примером того, что я ищу. Я новичок в LDAP, поэтому, возможно, я не понимаю, как использовать SDK.   -  person JBuenoJr    schedule 30.07.2013
comment
То, что вы указали в своем редактировании, будет работать, если есть сервер LDAP, прослушивающий незащищенные клиентские соединения на порту 389 на localhost. У вас уже есть сервер?   -  person Terry Gardner    schedule 30.07.2013
comment
Пожалуйста, прочтите обновленный комментарий к этой связи. Он получает это соединение, но заявляет, что для завершения операции у меня должна быть привязка. да сервер работает. Я отлично подключаюсь к нему, используя IP-адрес и учетные данные. Но, например, если мое приложение работает на реальном сервере, мне не нужно проходить аутентификацию, верно?   -  person JBuenoJr    schedule 30.07.2013


Ответы (1)


Не имеет значения, где или на каком хосте работает сервер каталогов. Когда клиент LDAP подключается к серверу, это подключение не проходит проверку подлинности. Клиенты LDAP должны использовать запрос BIND, чтобы запросить у сервера изменение состояния авторизации соединения на состояние, разрешающее операции, необходимые клиенту LDAP.

смотрите также

person Terry Gardner    schedule 30.07.2013