(opendj-ldap-sdk-2.6.0) параметр метода связывания - пароль char [] - PullRequest
0 голосов
/ 21 декабря 2018

Я использую библиотеку jar opendj-ldap-sdk-2.6.0 для поиска записи LDAP.Я следую за гидом.(https://backstage.forgerock.com/docs/opendj/2.6/dev-guide/#chap-using-the-sdk)

исходный код:

import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.responses.SearchResultEntry;
import org.forgerock.opendj.ldap.responses.SearchResultReference;
import org.forgerock.opendj.ldif.ConnectionEntryReader;
import org.forgerock.opendj.ldif.LDIFEntryWriter;

public class Test {

public static void main(String[] args) {

    final LDIFEntryWriter writer = new LDIFEntryWriter(System.out);
    Connection connection = null; 

    try { 
        final LDAPConnectionFactory factory = new LDAPConnectionFactory("localhost",389);

        connection = factory.getConnection();
        connection.bind("cn = Directory Mangager", password );
        // password is just an example of the password. 

        final ConnectionEntryReader reader = connection.search("dc=example,dc=com", SearchScope.WHOLE_SUBTREE,"(uid=bjensen)","*");
        while (reader.hasNext()) {
            if(reader.isEntry()) {
                final SearchResultEntry entry = reader.readEntry();
                writer.writeComment("Search result entry:" + entry.getName().toString());
                writer.writeEntry(entry);
            } else {
                final SearchResultReference ref = reader.readReference();
                writer.writeComment("Search result reference:" + ref.getURIs().toString());
            }
        }
        writer.flush();
    } catch (final Exception e) { 
        System.err.println(e.getMessage());
    } finally { 
        if (connection !=null) { 
            connection.close(); 
        }
    }
}

connection.bind ("cn = Directory Mangager", пароль);

Я получаю красную строку в этой строке под паролем, потому что параметр должен быть 'char []'.
Я захватил метод Bind ниже.

enter image description here

Если мой пароль 1234, как я могу изменить его на тип char []?

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Я понял это.

connection.bind ("cn = Directory Manager", "ваш пароль" .toCharArray ());

Вы можете использовать toCharArray ()

Также, как упоминалось выше, Людовик Пуату, вы должны использовать
connection = factory.getConnection(); методом связывания.В руководстве сказано, что если вы не используете анонимный поиск, используйте метод bind, но вы должны использовать их оба.(Я неправильно понял руководство)

0 голосов
/ 21 декабря 2018

Вам не хватает звонка с завода для получения соединения.

  connection = factory.getConnection();
  connection.bind("cn = Directory Mangager", password );
...