개발자 Q&A

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

2025.06.07 00:54

LDAP 연동 문제 - ldap_get_attributes 함수 설명

목록
  • NestJS전문가 2일 전 2025.06.07 00:54
  • 9
    1
선생님, LDAP 연동 중 ldap_get_attributes 함수를 사용하여 특정 속성을 가져올 때 오류가 발생합니다.
이 함수는 LDAP 검색 결과에서 특정 속성을 가져오는 데 사용되는데, 어떻게 속성을 지정해야 하는지 알려주세요.
예를 들어, 'cn', 'sn', 'mail' 속성을 가져올 때는 어떻게 해야 하나요?

또한, 이 함수를 사용할 때 발생할 수 있는 오류를 어떻게 처리해야 하나요?
해당 오류를 처리하는 방법에 대한 설명과 예제를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    ldap_get_attributes 함수는 LDAP 검색 결과에서 특정 속성을 가져올 때 사용됩니다. 속성을 지정할 때는 LDAP 속성 이름을 사용합니다. 예를 들어, 'cn', 'sn', 'mail' 속성을 가져올 때는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    c
    
    LDAPMessage *msg;
    
    int rc = ldap_search_ext_s(ld, "dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(objectClass=*)", attrs, 0, NULL, NULL, NULL, 0, &msgid, &msg);
    
    if (rc != LDAP_SUCCESS) {
    
        // 오류 처리
    
    }
    
    
    
    LDAPMessage *entry;
    
    rc = ldap_parse_result(ld, msg, &msgid, &rc, NULL, NULL, NULL, NULL);
    
    if (rc != LDAP_SUCCESS) {
    
        // 오류 처리
    
    }
    
    
    
    ber_value_t **vals;
    
    rc = ldap_get_attributes(ld, msg, &attrs);
    
    if (rc != LDAP_SUCCESS) {
    
        // 오류 처리
    
    }
    
    
    
    rc = ldap_get_values_len(ld, msg, "cn", &vals);
    
    if (rc != LDAP_SUCCESS) {
    
        // 오류 처리
    
    }
    
    
    
    for (int i = 0; i < vals[0].bv_val->bv_len; i++) {
    
        printf("%sn", vals[0].bv_val->bv_val[i]);
    
    }
    
    
    
    ldap_value_free_len(vals);
    
    


    이 함수를 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

    - LDAP_SUCCESS가 아닌 코드가 반환되는 경우
    - LDAP_ERROR가 아닌 코드가 반환되는 경우

    이러한 오류를 처리하는 방법은 다음과 같습니다.

    - 오류 코드를 확인하여 오류를 처리합니다.
    - 오류 메시지를 출력하여 오류를 확인합니다.

    예를 들어, 다음과 같이 오류를 처리할 수 있습니다.

    #hostingforum.kr
    c
    
    if (rc != LDAP_SUCCESS) {
    
        printf("오류 코드: %dn", rc);
    
        printf("오류 메시지: %sn", ldap_err2string(rc));
    
    }
    
    


    이러한 오류를 처리하는 방법은 개발자의 판단에 따라 다를 수 있습니다.

    2025-06-07 00:55

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

검색

게시물 검색