
LDAP 모듈을 사용하여 데이터를 삭제하는 기능을 구현할 때, ldap_mod_del_ext 함수를 사용해야 합니다. 이 함수는 다음 매개변수를 사용합니다.
- ldap: LDAP 연결 객체
- dn: 삭제할 데이터의 distinguishedName
- deleteAttributes: 삭제할 속성 목록
- controls: 삭제에 사용할 제어 목록
ldap_mod_del_ext 함수는 다음과 같은 동작을 수행합니다.
- 지정된 DN에 있는 데이터를 삭제합니다.
- 삭제할 속성을 지정할 수 있습니다.
- 삭제에 사용할 제어 목록을 지정할 수 있습니다.
예를 들어, 특정 DN에 있는 데이터를 삭제하는 예제는 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
LDAP *ldap;
int rc;
char *dn = "cn=example,dc=example,dc=com";
BerValue *deleteAttributes = NULL;
// LDAP 연결 객체 생성
ldap = ldap_init("localhost", 389);
if (ldap == NULL) {
return 1;
}
// LDAP 연결 객체에 로그인
rc = ldap_bind_s(ldap, "cn=manager,dc=example,dc=com", "password", LDAP_AUTH_SIMPLE);
if (rc != LDAP_SUCCESS) {
ldap_unbind_ext_s(ldap, NULL, NULL);
return 1;
}
// 삭제할 속성 목록 생성
deleteAttributes = ldap_new_ber_value(ldap, LDAP_TAG_DELETE_ATTRIBUTE, 0);
ldap_add_value(ldap, deleteAttributes, "objectClass");
// 데이터 삭제
rc = ldap_mod_del_ext(ldap, dn, deleteAttributes, NULL);
if (rc != LDAP_SUCCESS) {
ldap_unbind_ext_s(ldap, NULL, NULL);
return 1;
}
// LDAP 연결 객체 해제
ldap_unbind_ext_s(ldap, NULL, NULL);
return 0;
}
이 예제에서는 특정 DN에 있는 데이터를 삭제하는 코드를 보여줍니다. 삭제할 속성 목록은 "objectClass"로 지정되어 있습니다.
2025-06-10 02:15