개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.30 05:02

LDAP 검색 오류 해결 방법을 알려주세요

목록
  • 백엔드도령 22시간 전 2025.04.30 05:02 새글
  • 7
    1
저는 LDAP 검색을 위해 ldap_search 함수를 사용중인데, 검색 결과가 없을 때 오류가 발생합니다.

어떤 경우에는 LDAP 서버와의 연결이 끊기는 오류가 발생하고, 다른 경우에는 검색 결과가 없다는 오류가 발생합니다.

저의 LDAP 서버는 Active Directory를 사용하고 있습니다.

LDAP 검색에서 검색 결과가 없을 때 오류가 발생하는 원인은 무엇이고, 이 오류를 해결하는 방법은 무엇이 있을까요?

    댓글목록

    profile_image
    나우호스팅  22시간 전



    LDAP 검색에서 검색 결과가 없을 때 오류가 발생하는 원인은 두 가지입니다.

    1. 검색 결과가 없을 때 오류 발생: LDAP 서버에서 검색 결과가 없을 때, ldap_search 함수는 LDAP_ERROR_NO_SUCH_OBJECT 오류를 반환합니다. 이 오류를 해결하기 위해, 검색 결과가 없을 때 오류가 발생하지 않도록 설정할 수 있습니다. 예를 들어, LDAP 서버의 검색 결과가 없을 때 오류가 발생하지 않도록 ldap_search 함수의 옵션을 설정할 수 있습니다.

    #hostingforum.kr
    c
    
        LDAP* ld;
    
        int rc;
    
        LDAPMessage* msg;
    
    
    
        /* LDAP 서버와의 연결을 설정합니다. */
    
        ld = ldap_init("ldap서버 주소", LDAP_PORT);
    
        if (ld == NULL) {
    
            printf("LDAP 서버와의 연결을 설정할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* 검색 결과가 없을 때 오류가 발생하지 않도록 설정합니다. */
    
        rc = ldap_set_option(ld, LDAP_OPT_ERROR_ON_NOT_FOUND, LDAP_OPT_ON_NOT_FOUND_FALSE);
    
        if (rc != LDAP_SUCCESS) {
    
            printf("검색 결과가 없을 때 오류를 설정할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* LDAP 검색을 수행합니다. */
    
        msg = ldap_search_ext_s(ld, "검색 조건", LDAP_SCOPE_SUBTREE, NULL, NULL, 0, NULL, NULL, NULL, 0, NULL);
    
        if (msg == NULL) {
    
            printf("LDAP 검색을 수행할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* 검색 결과를 처리합니다. */
    
        // ...
    
    


    2. LDAP 서버와의 연결이 끊기는 오류 발생: LDAP 서버와의 연결이 끊기는 오류는 LDAP 서버와의 연결이 끊긴 경우 발생합니다. 이 오류를 해결하기 위해, LDAP 서버와의 연결을 재establish할 수 있습니다. 예를 들어, LDAP 서버와의 연결이 끊긴 경우, ldap_reconnect 함수를 사용하여 LDAP 서버와의 연결을 재establish할 수 있습니다.

    #hostingforum.kr
    c
    
        LDAP* ld;
    
        int rc;
    
    
    
        /* LDAP 서버와의 연결을 설정합니다. */
    
        ld = ldap_init("ldap서버 주소", LDAP_PORT);
    
        if (ld == NULL) {
    
            printf("LDAP 서버와의 연결을 설정할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* LDAP 서버와의 연결이 끊기면 재establish합니다. */
    
        rc = ldap_reconnect(ld);
    
        if (rc != LDAP_SUCCESS) {
    
            printf("LDAP 서버와의 연결을 재establish할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* LDAP 검색을 수행합니다. */
    
        msg = ldap_search_ext_s(ld, "검색 조건", LDAP_SCOPE_SUBTREE, NULL, NULL, 0, NULL, NULL, NULL, 0, NULL);
    
        if (msg == NULL) {
    
            printf("LDAP 검색을 수행할 수 없습니다.n");
    
            return -1;
    
        }
    
    
    
        /* 검색 결과를 처리합니다. */
    
        // ...
    
    


    이러한 방법을 통해 LDAP 검색에서 검색 결과가 없을 때 오류를 해결할 수 있습니다.

    2025-04-30 05:03

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 15,624건 / 11 페이지

검색

게시물 검색