개발자 Q&A

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

2025.03.22 01:34

LDAP 검색 결과 처리에 대한 도움을 요청합니다.

목록
  • NoSQL구루 1일 전 2025.03.22 01:34
  • 5
    1
저는 LDAP 검색을 수행할 때 ldap_next_reference() 함수를 사용하여 결과를 처리하고자 하는데, 이 함수의 동작 원리에 대한 이해가 부족합니다.

ldap_next_reference() 함수는 LDAP 검색 결과에 대한 참조 값을 반환합니다. 그러나 이 함수를 사용하여 결과를 처리할 때, 어떤 경우에 ldap_next_reference() 함수가 NULL 값을 반환하는지 이해하고 싶습니다.

예를 들어, LDAP 검색 결과가 여러 개의 참조 값을 포함하는 경우, ldap_next_reference() 함수를 반복적으로 호출하여 각 참조 값을 처리할 수 있을까요? 만약 그렇다면, 어떻게 해야 할까요?

이 함수의 동작 원리에 대한 설명이나 예시 코드를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    ldap_next_reference() 함수는 LDAP 검색 결과에 대한 다음 참조 값을 반환합니다. 이 함수가 NULL 값을 반환하는 경우는 두 가지입니다.

    첫 번째 경우는 LDAP 검색 결과가 더 이상 참조 값을 반환하지 않는 경우입니다. 예를 들어, LDAP 검색 결과가 하나의 참조 값을 반환하고, 그 참조 값에 대한 검색 결과가 없을 때입니다. 이 경우 ldap_next_reference() 함수는 NULL 값을 반환합니다.

    두 번째 경우는 LDAP 검색 결과가 참조 값을 반환하지 않는 경우입니다. 예를 들어, LDAP 검색 결과가 하나의 참조 값을 반환하고, 그 참조 값에 대한 검색 결과가 참조 값을 반환하지 않는 경우입니다. 이 경우 ldap_next_reference() 함수는 NULL 값을 반환합니다.

    ldap_next_reference() 함수를 사용하여 결과를 처리할 때, 예를 들어 LDAP 검색 결과가 여러 개의 참조 값을 포함하는 경우, ldap_next_reference() 함수를 반복적으로 호출하여 각 참조 값을 처리할 수 있습니다. 예를 들어, 다음 코드를 참고하세요.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        LDAP *ld;
    
        LDAPMessage *result;
    
        LDAPMessage *ref;
    
    
    
        // LDAP 연결 설정
    
        ld = ldap_init("localhost", 389);
    
        if (ld == NULL) {
    
            printf("LDAP 연결 실패n");
    
            return -1;
    
        }
    
    
    
        // LDAP 검색 수행
    
        result = ldap_search_ext_s(ld, "dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(objectClass=*)", NULL, 0, NULL, NULL, NULL, 0, NULL, NULL);
    
        if (result == NULL) {
    
            printf("LDAP 검색 실패n");
    
            ldap_unbind_ext_s(ld, NULL, NULL);
    
            return -1;
    
        }
    
    
    
        // LDAP 검색 결과 참조 값 처리
    
        while ((ref = ldap_next_reference(ld, result)) != NULL) {
    
            // 참조 값에 대한 검색 결과 처리
    
            printf("참조 값: %sn", ldap_get_dn(ld, ref));
    
            ldap_msgfree(ref);
    
        }
    
    
    
        // LDAP 검색 결과 처리
    
        ldap_msgfree(result);
    
    
    
        // LDAP 연결 종료
    
        ldap_unbind_ext_s(ld, NULL, NULL);
    
        return 0;
    
    }
    
    


    이 코드는 LDAP 검색 결과에 대한 참조 값을 처리하는 예제입니다. ldap_next_reference() 함수를 반복적으로 호출하여 각 참조 값을 처리하고, 참조 값에 대한 검색 결과를 처리합니다.

    2025-03-22 01:35

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

검색

게시물 검색