
LDAP 파싱 결과에서 \'resultCode\'와 \'matchedDN\'을 얻는 방법은 다음과 같습니다.
resultCode는 LDAP 연산의 결과를 나타내며, 0은 성공을 의미합니다. 하지만 resultCode가 0인 경우 matchedDN이 비어 있는 것은 일반적인 경우가 아니므로, 더 자세한 정보를 확인해야 합니다.
matchedDN이 비어 있는 경우 LDAP 연산이 성공했지만, 찾은 엔터티가 없을 때 발생합니다. 예를 들어, 특정 사용자의 계정 정보를 검색할 때 matchedDN이 비어 있는 경우 사용자가 존재하지 않는다는 의미입니다.
ldap_parse_result 함수를 사용할 때, 파라미터를 다음과 같이 설정해야 합니다.
- result: LDAP 연산의 결과를 받은 파싱 결과
- ref: LDAP 연산의 결과를 받은 파싱 결과에서 참조할 엔터티
- err: LDAP 연산의 결과를 받은 파싱 결과에서 에러를 참조할 엔터티
- matchedDN: LDAP 연산의 결과를 받은 파싱 결과에서 일치하는 DN을 참조할 엔터티
- etype: LDAP 연산의 결과를 받은 파싱 결과에서 엔터티 유형을 참조할 엔터티
- name: LDAP 연산의 결과를 받은 파싱 결과에서 엔터티 이름을 참조할 엔터티
- controls: LDAP 연산의 결과를 받은 파싱 결과에서 컨트롤을 참조할 엔터티
예를 들어, 다음과 같이 ldap_parse_result 함수를 사용할 수 있습니다.
#hostingforum.kr
c
int resultCode, matchedDN;
char *matchedDNStr;
...
ldap_parse_result(ld, &resultCode, &matchedDN, NULL, NULL, NULL, NULL);
if (resultCode == LDAP_SUCCESS && matchedDN == NULL) {
// 사용자가 존재하지 않는 경우
} else {
// 사용자가 존재하는 경우
}
위 코드는 LDAP 연산의 결과를 받은 파싱 결과에서 resultCode와 matchedDN을 얻은 후, resultCode가 성공이고 matchedDN이 비어 있는 경우 사용자가 존재하지 않는다는 것을 확인합니다.
2025-05-26 13:15