LDAPからすべてのアクティブなユーザーをフェッチします。 LDAPには1kユーザー以上の方法があります(afaikでは、1回のリクエストでLdapから1kユーザーしかかかりません)。 C#を使用する場合 が、私はこれを使用:JavaのLDAPのすべてのユーザー
//Open connection to LDAP Server
using (var directoryEntry = new DirectoryEntry("LDAP"****************",
{
using (var directorySearcher = new DirectorySearcher(directoryEntry)
{
PageSize = 1000,
Filter = "****************",
SearchScope = System.DirectoryServices.SearchScope.Subtree,
PropertiesToLoad =
{
***,
***,
...
}
})
{
using (SearchResultCollection src = directorySearcher.FindAll())
{
try
{
foreach (SearchResult sr in src)
{
//Create User and add to a List of Users
は、今私は同じですが、Javaコードで行う必要があります。私が試したことはこれです:
NamingEnumeration<SearchResult> results = ctx.search(ldapSearchBase, searchFilter, searchControls);
SearchResult searchResult = null;
while (results.hasMoreElements()) {
searchResult = (SearchResult) results.nextElement();
//Create User from searchResult Attributes and add to a List
}
このJavaコードが終了すると問題が1kのユーザーがフェッチ得ることは明らかであるので、私は、1kのユーザーのリストを持っています。
質問:
私は1kのユーザーフェッチするためにJavaを伝えるにはどうすればよい - 一覧へ>書き込み - >これ以上のユーザーがなくなるまで次の1Kを取得取得するために残しました。
ありがとうございます!