【问题标题】:C# failing LDAP queriesC# LDAP 查询失败
【发布时间】:2011-05-30 02:28:53
【问题描述】:

我正在尝试通过 C# 中的 SearchRequest 对象访问 LDAP 目录。我可以通过在 iPhone 应用程序中运行的 LDAP 库以及直接通过终端会话进行相同的调用。但是,C# 查询似乎都失败了。

var search = new SearchRequest("ou=calendar,dc=ualberta,dc=ca", "term=*,course=094398,class=*", System.DirectoryServices.Protocols.SearchScope.Subtree, attributeLst);

这将返回课程日历的术语列表。但是,进行以下调用不会返回特定课程的结果

var search = new SearchRequest("ou=calendar,dc=ualberta,dc=ca", "term=1330,course=094398", System.DirectoryServices.Protocols.SearchScope.Subtree, attributeLst);

attributeLst 对象包含正确的属性名称,但查询总是返回零结果。

任何人的任何建议都将不胜感激。谢谢。

【问题讨论】:

    标签: c# ldap


    【解决方案1】:

    它是否与底层 LDAP 属性相关,即课程的 ldap 数据类型,即它是 LDAP 存储中的各种字符串之一还是整数,如果是这样,前导零可能会丢弃它?另外,我很好奇,符合逻辑并且(至少在查询作为 LDAP 实现的 AD 时 - 不确定您的底层存储是什么)通常遵循以下内容:

    (&(term=1330)(course=094398)) 
    

    【讨论】:

    • +1 请参阅此处了解正确的 LDAP 搜索过滤器语法msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx
    • 感谢您的回复。我最终不得不在过滤器中指定一个对象类。对象类是在 LDAP 存储中指定的,但在我收到的文档中很深。现在一切都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多