1

我正在使用 ldap 函数来使用 win32 api 获取用户属性值。

用户名是arun

在像 init、set_options、connect、bind 这样的 ldap_functions 中是成功的。但是 ldap 搜索函数返回错误代码 10。

这是我的代码

errorCode = ldap_search_s(
                    pLdapConnection,    // Session handle
                    pMyDN,              // DN to start search
                    LDAP_SCOPE_SUBTREE, // Scope  LDAP_SCOPE_BASE LDAP_SCOPE_SUBTREE
                    pMyFilter,          // Filter
                    NULL,               // Retrieve list of attributes
                    0,                  // Get both attributes and values
                    &pSearchResult);

pMyDN指定的`"DC=SANJU,DC=CO,DC=IN"...

返回代码 10 给出的错误是LDAP_REFERRAL。但我无法得到它。

但我把pMyDN价值投入"OU=Marketing,DC=SANJU,DC=CO,DC=IN"

现在,搜索功能成功了,那么问题出在哪里?

我需要这个功能而不使用OU,有人可以帮忙吗?

4

3 回答 3

2

LDAP_REFERRAL:如果给定的基本 DN 是当前服务器未处理的条目并且引用 URL 标识了不同的服务器来处理该条目,则由 Directory Server 发送。

于 2012-11-16T14:15:58.960 回答
1

如果DNS和AD在不同的URL(IP)中没有可信规则,就会出现这个问题。

于 2013-03-22T04:56:29.457 回答
0

LDAP 响应不使用error codes,他们使用result codes- 之所以这么称呼是因为非零响应不一定是错误。10就是一个例子,它是一个推荐。引用将包含有关可以处理请求的服务器的信息。如果没有目录代理服务器来跟踪引用,则 LDAP 客户端必须自己跟踪引用。

比较操作响应也使用结果代码来传输比较结果。

于 2012-11-17T10:29:31.987 回答