
ldap_get_entries 함수의 반환값은 LDAP 엔트리 목록을 나타내는 구조체입니다. 이 구조체에는 엔트리 목록의 총 개수, 엔트리 목록의 각 항목에 대한 정보가 포함되어 있습니다.
엔트리 목록에서 특정 필드를 추출하는 방법은 다음과 같습니다.
1. 엔트리 목록의 각 항목에 대한 정보를 가져오기 위해 ldap_get_entries 함수의 반환값에서 "entry" 필드를 사용합니다.
2. 각 항목의 필드를 추출하기 위해 "entry->dn" 필드를 사용하여 DN 값을 가져올 수 있습니다.
3. 각 항목의 필드를 추출하기 위해 "entry->attributes" 필드를 사용하여 특정 필드를 검색할 수 있습니다.
엔트리 목록을 정렬하는 방법은 다음과 같습니다.
1. 엔트리 목록을 정렬하기 위해 ldap_sort 함수를 사용할 수 있습니다.
2. ldap_sort 함수는 엔트리 목록을 정렬하기 위해 DN 값을 기준으로 정렬할 수 있습니다.
예를 들어, 엔트리 목록에서 "cn" 필드를 추출하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
LDAP *ld;
LDAPMessage *result;
BerValue **entry;
int num_entries;
// LDAP 연결 설정
ld = ldap_init("localhost", 389);
ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, LDAP_VERSION3);
ldap_bind_s(ld, "cn=admin,dc=example,dc=com", "password", LDAP_AUTH_SIMPLE);
// LDAP 검색
ldap_search_s(ld, "dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(objectClass=*)", NULL, 0, &result);
// 엔트리 목록을 가져오기
num_entries = ldap_count_entries(ld, result);
entry = ldap_get_entries(ld, result);
// 엔트리 목록에서 "cn" 필드를 추출
for (int i = 0; i < num_entries; i++) {
printf("%sn", entry[i]->attributes[0].values[0].b_val);
}
// LDAP 연결 종료
ldap_unbind_s(ld);
return 0;
}
이 예제에서는 LDAP 엔트리 목록에서 "cn" 필드를 추출하는 방법을 보여줍니다.
2025-06-11 08:44