개발자 Q&A

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

2025.06.05 16:35

LDAP 연동 문제 - ldap_delete_ext 함수 이해 필요

목록
  • 클린코더 2일 전 2025.06.05 16:35
  • 8
    1
안녕하세요 LDAP 연동 문제를 해결하려고 하는데 ldap_delete_ext 함수에 대해 이해가 잘 안 가고 있습니다. 이 함수를 사용하여 특정 사용자를 삭제할 때, 어떤 파라미터를 사용해야 하는지 알려주실 수 있을까요?

예를 들면, delete parameter에 어떤 옵션을 사용해야 하는지, 또는 ldap_delete_ext 함수를 사용하여 사용자를 삭제할 때, 어떤 에러가 발생할 수 있는지 알려주세요.

또한, ldap_delete_ext 함수를 사용하여 사용자를 삭제하는 코드 예시를 알려주시면 도움이 될 것입니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    ldap_delete_ext 함수는 LDAP 서버에 사용자를 삭제하는 함수입니다. 이 함수의 파라미터는 다음과 같습니다.

    - dn: 삭제할 사용자의 distinguished name
    - delete: 삭제 옵션 (LDAP_DELETEREPLACE, LDAP_DELETENOOP, LDAP_DELETESUBTREE 등)
    - serverctrls: LDAP 서버에 전송하는 컨트롤
    - msgid: 삭제 요청의 메시지 ID
    - sctrls: LDAP 서버에 전송하는 서버 컨트롤
    - res: 삭제 결과

    delete 파라미터의 옵션은 다음과 같습니다.

    - LDAP_DELETEREPLACE: 삭제할 사용자를 다른 사용자로 대체합니다.
    - LDAP_DELETENOOP: 삭제할 사용자가 없을 때 에러를 반환합니다.
    - LDAP_DELETESUBTREE: 삭제할 사용자의 하위 트리도 삭제합니다.

    ldap_delete_ext 함수를 사용하여 사용자를 삭제할 때, 다음과 같은 에러가 발생할 수 있습니다.

    - LDAP_NO_MEMORY: 메모리 할당 실패
    - LDAP_OPERATIONS_ERROR: LDAP 서버와의 통신 실패
    - LDAP_PARAM_ERROR: 파라미터 오류
    - LDAP_NO_SUCH_OBJECT: 삭제할 사용자가 없을 때

    ldap_delete_ext 함수를 사용하여 사용자를 삭제하는 코드 예시는 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    
    
    int main() {
    
        LDAP* ld;
    
        BerValue* dn;
    
        int rc;
    
    
    
        // LDAP 서버 연결
    
        ld = ldap_init("localhost", 389);
    
        if (ld == NULL) {
    
            printf("LDAP 서버 연결 실패n");
    
            return 1;
    
        }
    
    
    
        // 삭제할 사용자의 distinguished name 설정
    
        dn = ldap_dn2bv(ld, "cn=delete_user,dc=example,dc=com");
    
        if (dn == NULL) {
    
            printf("distinguished name 설정 실패n");
    
            return 1;
    
        }
    
    
    
        // 삭제 옵션 설정
    
        int delete = LDAP_DELETENOOP;
    
    
    
        // 삭제 요청
    
        rc = ldap_delete_ext(ld, dn, delete, NULL, NULL, NULL, NULL);
    
        if (rc != LDAP_SUCCESS) {
    
            printf("삭제 요청 실패n");
    
            return 1;
    
        }
    
    
    
        // LDAP 서버 연결 해제
    
        ldap_unbind(ld);
    
    
    
        return 0;
    
    }
    
    


    이 코드는 LDAP 서버에 사용자를 삭제하는 예시입니다. 삭제할 사용자의 distinguished name을 설정하고, 삭제 옵션을 설정한 후, 삭제 요청을 보냅니다. 삭제 요청이 성공적으로 완료되면, LDAP 서버 연결을 해제합니다.

    2025-06-05 16:36

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

검색

게시물 검색