我有一些 c 代码可以根据用户 cn 在 openldap 服务器中查询用户 DN,如下所示。当我使用 Apache DS 搜索 ldap 服务器时,只显示结果。然而,我的 C 代码返回 2 条记录;一个具有预期用户的 DN,第二个记录具有空白 DN!第二张唱片是干什么用的?这是预期的行为吗?
为了清楚起见,我已包含下面的代码示例,并删除了所有错误检查。
ldap_search_ext(ld, (char *)baseDN, LDAP_SCOPE_SUBTREE, "(&(objectClass=person)(cn=test00002))", NULL, 0, NULL, NULL, NULL, LDAP_NO_LIMIT, &msgid);
ldap_result(ld, msgid, 1, NULL, &res);
numUsersFound = ldap_count_messages(ld, res);
syslog(LOG_DEBUG, "DEBUG Number of users found: (%d)", numUsersFound);
结果
DEBUG Number of users found: 2
DEBUG User DN: (cn=test00002,ou=defaultRealm,dc=company,dc=com)
DEBUG User DN: ()