
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