(opendj-ldap-sdk-2.6.0) параметр метода связывания - пароль char [ ]
Я использую библиотеку jar opendj-ldap-sdk-2.6.0 для поиска записей LDAP. Я следую за гидом. ( https://backstage.forgerock.com/docs/opendj/2.6/dev-guide/)
исходный код:
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 ниже.
Если мой пароль 1234, как я могу изменить его на тип char []?
2 ответа
Вы пропускаете звонок с завода, чтобы получить соединение.
connection = factory.getConnection();
connection.bind("cn = Directory Mangager", password );
Я понял.
connection.bind ("cn = Directory Manager", "ваш пароль".toCharArray());
Вы можете использовать toCharArray ()
Кроме того, как упоминалось выше, Людовик Пуату, вы должны использовать
connection = factory.getConnection(); с методом привязки. В руководстве сказано, что если вы не используете анонимный поиск, используйте метод bind, но вы должны использовать их оба. (Я неправильно понял руководство)