分页LDap搜索失败,并显示“请求的属性不存在”

时间:2012-08-07 08:49:44

标签: c# ldap

我需要使用使用.NET / C#实现的Ldap搜索来获得所有“epersonstatus = REMOVE”员工的'employeenumber',如:

var connection = new LdapConnection("foo.bar.com:389");

connection.AuthType = AuthType.Anonymous;
connection.SessionOptions.ProtocolVersion = 3;
connection.Bind();

var request = new SearchRequest(
                 "dc=root,dc=com",
                 "(epersonstatus=REMOVE)", 
                 SearchScope.Subtree,
                 new string[] { "employeenumber" }); 

由于有数以千计的条目我使用此处提议的分页请求: http://dunnry.com/blog/PagingInSystemDirectoryServicesProtocols.aspx

我还检查过服务器是否支持此处建议的分页请求: iPlanet LDAP and C# PageResultRequestControl

一旦流程到达:

SearchResponse response = connection.SendRequest(request) as SearchResponse;

我收到DirectoryOperationException,并显示消息“请求的属性不存在”。

通过在像softerra这样的LDap客户端上运行相同的查询,我得到条目(一千)和 错误。

非常感谢一些帮助。

1 个答案:

答案 0 :(得分:2)

我有类似的问题。

使用分页搜索时,我收到异常"The server does not support the control. The control is critical.",当使用非分页搜索时,我收到了结果(至少只要过滤器限制了最大数量)。

但是我发现错误信息有误导性 - 问题隐藏在身份验证中。

使用AuthType.Basic(或AuthType.Anonymous)我收到了错误消息。我一切换到AuthType.Ntlm就行了。

希望这会有所帮助......