在查询LDAP商店时无法指定要返回的属性
-
29-09-2019 - |
题
我正在使用DirectoryServices.protocols.searchrequest类型来对Opends Store提出请求以检索某些条目。我希望能够控制响应中的条目返回哪些属性,并认为“属性”属性会做到。但是,该属性没有设置器,所以我不能做这样的事情: -
SearchRequest searchRequest = new SearchRequest
{
DistinguishedName = hubTable,
Filter = ldapFilter,
Scope = SearchScope.Subtree,
Attributes = new StringCollection{"Id", "File"}
};
//run the query and get the results
SearchResponse results = connection.SendRequest(searchRequest) as SearchResponse;
任何人都可以将我带到我应该采取的措施来过滤请求,以仅带有指定属性而不是全部的返回条目。
解决方案
具有讽刺意味的是,这有效: -
SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });
其他提示
您使用SearchResuest有原因吗?无论如何,您都可以使用DirectorySearcher类 http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx 查找条目。这是查找1结果的示例 http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. 。使用Findall方法获得所有结果。
我怀疑您需要其他过滤器。
我确定你 ldapfilter
有一些标准。您将需要,并且(with&)包括 (&(Id=*)(File=*))
为了获得您要寻找的结果。
不隶属于 StackOverflow