【问题标题】:ldap_search function returns errorcode 10 using c++ Win32 api?ldap_search 函数使用 c++ Win32 api 返回错误代码 10?
【发布时间】:2012-11-16 14:07:36
【问题描述】:

我正在使用 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, 谁能帮忙?

【问题讨论】:

    标签: c++ windows winapi active-directory ldap


    【解决方案1】:

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

    【讨论】:

    • @Saddam :k.now 我该怎么办,我想在没有指定 OU 的情况下进行搜索?
    • 您可以输入 pMyDN 广告 DC=SANJU,DC=CO,DC=IN 并搜索应该给您的结果,如果您从小到中等树,如果你得到一个结果,这意味着你 OU 的 DN 是错误的
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-07
        • 1970-01-01
        • 2018-10-22
        • 2013-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多