Привязка к серверу LDAP с использованием UnboundID

Мне нужна помощь с привязкой к серверу LDAP с помощью SASL

.

Информация о сервере LDAP:

поддерживаетсяLDAPVersion (2): 3; 2;

supportedSASLMechanisms (4): GSSAPI; ГСС-СПНЕГО; ВНЕШНИЙ; ДАЙДЖЕСТ-МД5;

.

Используя приведенный ниже код, я могу успешно подключиться, привязать и выполнить поиск на сервере LDAP. Однако я хочу выполнить привязку, используя dn и пароль пользователя, вошедшего в систему (без запроса или жесткого кодирования учетных данных). Есть предложения, как это сделать? * Приносит извинения, если кодирование ужасно, я новичок в кодировании и более чем рад указателям :)

      package LDAP;

import com.unboundid.ldap.sdk.*;

public class LdapConnection {

public static void main(String[] args) throws LDAPException {

        try {

            // CREATE LDAP OPTIONS
            LDAPConnectionOptions ldapOptions = new LDAPConnectionOptions();
            ldapOptions.setUseSynchronousMode(true);
    
            // CREATE LDAP CONNECTION
            LDAPConnection connection = null;
            connection = new LDAPConnection(ldapOptions, "server.ca", 3268);
            System.out.println(connection);
            System.out.println(" ");
   
            // BIND TO LDAP SERVER
            connection.bind("CN=Last\\, First,OU=Users,dc=Company,dc=CA", "Password");
    
            // CREATE VARIABLE TO SEARCH FOR
            String AD_Group = "Guests";

            // CREATE SEARCH REQUEST
            String baseDN = "dc=Company,dc=CA";
            Filter searchFilter = Filter.createEqualityFilter("SamAccountName", AD_Group);
            SearchRequest searchRequest = new SearchRequest(baseDN, SearchScope.SUB, searchFilter, "*");

            // PERFORM SEARCH
            SearchResult searchQueryResults = connection.search(searchRequest);

            // DISPLAY SEARCH RESULTS
            System.out.println(searchQueryResults);
            for (SearchResultEntry entry : searchQueryResults.getSearchEntries()) {
                String SamAccountName = entry.getAttributeValue("SamAccountName");
                String DistinguishedName = entry.getAttributeValue("DistinguishedName");

                System.out.println(SamAccountName);
                System.out.println(DistinguishedName);
                System.out.println(" ");
            }

            // TOSS ERROR IF ENTRIES
            if (searchQueryResults.getEntryCount() == 0) {
                System.out.println("No Search Results Found");
                System.out.println(" ");
            }
        }
        catch (Exception e) {
            System.out.println(" ");
            System.out.println("Catch Activated");
            System.out.println(e);
        }
    }
}

0 ответов

Другие вопросы по тегам