novell.directory.ldap.netstandard MaxResults

风格不统一 提交于 2019-12-25 05:04:29

问题


I am querying my active directory using novell.directory.ldap.netstandard from my .net core project.

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();

回答1:


In LDAP terms, you need to use the page result control.

In C#, this question seems to cover it : https://stackoverflow.com/a/90668/7990687



来源:https://stackoverflow.com/questions/44107354/novell-directory-ldap-netstandard-maxresults

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!