
ldap_delete_ext 함수를 사용하여 사용자를 삭제할 때, entryDN에 해당하는 사용자가 실제로 삭제되는지 확인하는 방법은 다음과 같습니다.
1. ldap_delete_ext 함수의 성공 여부를 확인할 수 있습니다. 성공 시 LDAP_SUCCESS, 실패 시 LDAP_OPERATIONS_ERROR 등과 같은 오류 코드가 반환됩니다.
2. LDAP 서버에서 사용자 삭제 후, ldap_search_ext 함수를 사용하여 entryDN에 해당하는 사용자를 검색하여 존재 여부를 확인할 수 있습니다.
3. LDAP 서버의 로그를 확인하여 사용자 삭제 연산이 성공적으로 수행되었는지 확인할 수 있습니다.
예를 들어, ldap_delete_ext 함수를 사용하여 사용자를 삭제한 후, ldap_search_ext 함수를 사용하여 사용자를 검색하는 코드는 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
LDAP* ld;
int rc;
BerValue dn, attrvals[1];
LDAPMessage* msg;
int count;
// LDAP 서버 연결
ld = ldap_init("localhost", 389);
if (ld == NULL) {
printf("LDAP 서버 연결 실패n");
return 1;
}
// 사용자 삭제
rc = ldap_delete_ext(ld, "cn=사용자 이름,dc=example,dc=com", NULL, NULL, NULL);
if (rc != LDAP_SUCCESS) {
printf("사용자 삭제 실패: %sn", ldap_err2string(rc));
ldap_unbind_ext_s(ld, NULL, NULL);
return 1;
}
// 사용자 검색
attrvals[0].bv_val = "objectClass";
attrvals[0].bv_len = strlen("objectClass");
rc = ldap_search_ext(ld, "dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(cn=사용자 이름)", attrvals, 1, NULL, NULL, NULL, 0, 0, &msg);
if (rc != LDAP_SUCCESS) {
printf("사용자 검색 실패: %sn", ldap_err2string(rc));
ldap_unbind_ext_s(ld, NULL, NULL);
return 1;
}
// 검색 결과 확인
count = ldap_count_entries(ld, msg);
if (count == 0) {
printf("사용자 삭제 성공n");
} else {
printf("사용자 삭제 실패n");
}
ldap_msgfree(msg);
ldap_unbind_ext_s(ld, NULL, NULL);
return 0;
}
이 코드에서는 ldap_delete_ext 함수를 사용하여 사용자를 삭제한 후, ldap_search_ext 함수를 사용하여 사용자를 검색하여 존재 여부를 확인합니다.
2025-04-18 03:58