novell.directory.ldap.netstandard MaxResults [英] novell.directory.ldap.netstandard MaxResults
问题描述
我正在使用.net核心项目中的novell.directory.ldap.netstandard查询活动目录.
I am querying my active directory using novell.directory.ldap.netstandard from my .net core project.
最多只能带回1000个用户,我知道这是因为服务器上的PageSize设置为1000,如何获取带回所有活动目录用户的代码? -我正在使用异步搜索方法.
It is only bringing back a maximum of 1000 users, I know this is because the PageSize on the server is set to 1000, how can I get the code to bring back all active directory users? - I am using the async search method.
string ldapHost = "";
int ldapPort = ;
string loginDN = "";
string password = "";
string searchBase = "";
string searchFilter = "";
string[] attributes = new string[] { "givenName", "sn"};
LdapConnection ldapConn = new LdapConnection();
ldapConn.Connect(ldapHost, ldapPort);
ldapConn.Bind(loginDN, password);
LdapSearchQueue queue = ldapConn.Search(searchBase, LdapConnection.SCOPE_SUB, searchFilter, attributes, false, (LdapSearchQueue)null, (LdapSearchConstraints)null);
LdapMessage message;
int i = 1;
while ((message = queue.getResponse()) != null)
{
if (message is LdapSearchResult)
{
LdapEntry entry = ((LdapSearchResult)message).Entry;
LdapAttributeSet attributeSet = entry.getAttributeSet();
Console.WriteLine(i + " " + attributeSet.getAttribute("givenName")?.StringValue + " " + attributeSet.getAttribute("sn")?.StringValue);
i++;
}
}
ldapConn.Disconnect();
推荐答案
在LDAP中,您需要使用页面结果控件.
In LDAP terms, you need to use the page result control.
在C#中,这个问题似乎可以解决: https://stackoverflow.com/a/90668/7990687
In C#, this question seems to cover it : https://stackoverflow.com/a/90668/7990687
这篇关于novell.directory.ldap.netstandard MaxResults的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!