
LDAP 파싱 참조 처리 문제를 해결하기 위해 ldap_parse_reference 함수를 사용할 수 있습니다. 하지만, 이 함수를 사용하여 참조된 엔터티를 가져올 때 오류가 발생하는 경우가 있습니다.
이러한 오류를 해결하기 위해 ldap_parse_reference 함수에 다음과 같은 옵션을 사용할 수 있습니다.
- LDAP_DEREF_NEVER: 기본 옵션으로, 참조된 엔터티를 가져올 때 오류가 발생합니다.
- LDAP_DEREF_SEARCHING: 참조된 엔터티를 가져올 때 검색 중인 엔터티를 가져옵니다.
- LDAP_DEREF_FINDING: 참조된 엔터티를 가져올 때 찾는 엔터티를 가져옵니다.
- LDAP_DEREF_ALWAYS: 참조된 엔터티를 가져올 때 항상 엔터티를 가져옵니다.
예를 들어, 다음과 같이 ldap_parse_reference 함수를 사용할 수 있습니다.
#hostingforum.kr
c
LDAP* ld;
LDAPMessage* msg;
LDAPMessage* ref;
// LDAP 서버 연결
ld = ldap_init("ldap.example.com", LDAP_PORT);
if (ld == NULL) {
// 오류 처리
}
// LDAP 서버에 연결
if (ldap_bind_s(ld, "cn=Manager,dc=example,dc=com", "password", LDAP_AUTH_SIMPLE) != LDAP_SUCCESS) {
// 오류 처리
}
// LDAP 서버에서 엔터티 가져오기
if (ldap_search_ext_s(ld, "dc=example,dc=com", LDAP_SCOPE_SUBTREE, "(objectClass=person)", NULL, 0, NULL, NULL, &msg, 0, NULL) != LDAP_SUCCESS) {
// 오류 처리
}
// 참조된 엔터티 가져오기
LDAP_DerefOption deref_option = LDAP_DEREF_ALWAYS;
if (ldap_parse_reference(ld, msg, &ref, NULL, deref_option) != LDAP_SUCCESS) {
// 오류 처리
}
// 참조된 엔터티 처리
// ...
이러한 옵션을 사용하여 ldap_parse_reference 함수를 사용할 수 있습니다. 하지만, 오류 처리를 위한 코드를 추가해야 하며, 참조된 엔터티를 처리하는 코드를 추가해야 합니다.
2025-07-05 23:23