如果我使用root作为基本dn,当使用SASL(Kerberos)身份验证绑定到ldap时ldap_search_s失败

时间:2015-09-22 16:35:24

标签: active-directory ldap gssapi

我有一个应用程序,我使用SASL(Kerberos)绑定到ldap。在这种情况下,当我使用root作为基本dn时,ldap_search_s函数返回操作错误。例如,如果base_dn =" DC = AD"和filter是(cn = administrator)ldap_search_s返回1.当我使用与base_dn =&#34相同的过滤器时,ldap_search_s按预期工作; OU = OMD,DC = AD"(它也适用于任何其他子条目树用作基础dn)。当我使用ldap_simple_bind_s函数绑定到服务器时,我没有看到相同的问题。你能帮我理解我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

以下是基于我们长篇聊天的精简答案:

虽然某些子树搜索失败,但您的绑定实现看似合理。使用Wireshark查看实际发生的情况。您很可能收到推荐人结果而不是正确答案。 API可能设置为follow并尝试执行。由于您执行了手动而非交互式绑定,因此后续内部绑定不完整且解析失败。您可以禁用引用追踪并手动处理这些内容,也可以将连接端口转为3268并使用全局编录。这将为您提供森林的完整,只读视图。没有推荐。