2010-12-23 73 views
0

我想通过在C#中SearchRequest对象来访问LDAP目录。我可以通过一个终端会话使通过LDAP库中运行相同的电话和iPhone应用程序,以及直接。但是,C#查询似乎都失败了。C#失败的LDAP查询

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对象已正确属性名称包含返回结果,但查询始终以零个返回结果。

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

回答

1

难道是涉及到底层的LDAP属性,即课程的LDAP数据类型,即是它的各种字符串或LDAP存储整数之一,如果是这样的前导零可能会引发它关掉?另外,我很好奇,逻辑和的(ATLEAST查询AD这是一个LDAP实现时 - 不知道您的底层存储是什么)通常遵循这样的事情:

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

+1这里看到正确的LDAP搜索过滤器语法http://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx – 2010-12-23 18:16:12