LDAP上のグループに関するデータを取得しようとしています。結果をページ分割する必要があるため、範囲クエリを実行する必要があります。私のセットアップでは、JNDIを使用してLDAPに接続しています。このクエリを実行しようとしています
(&(objectclass=group)(range=1-500))
私は何が間違っているのですか?LDAPには範囲ベースのクエリがあることを知っていますが、同じものを取得するためにこのクエリを変更するにはどうすればよいですか?
LDAP上のグループに関するデータを取得しようとしています。結果をページ分割する必要があるため、範囲クエリを実行する必要があります。私のセットアップでは、JNDIを使用してLDAPに接続しています。このクエリを実行しようとしています
(&(objectclass=group)(range=1-500))
私は何が間違っているのですか?LDAPには範囲ベースのクエリがあることを知っていますが、同じものを取得するためにこのクエリを変更するにはどうすればよいですか?
ページングと範囲は別物です。1000 を超えるエントリがある場合は、LDAP サーバーから返された結果をページングします (少なくとも Active Directory の既定値です)。
MSDN には、.NET でページ検索を行う方法に関する記事があります。うまくいけば、それをあなたの環境に翻訳できます。
レンジが違う。多数の値を持つ複数値属性 (通常はmember
グループの - 属性) がある場合は、範囲を使用します。したがって、クエリに範囲を含めることはできません。multi-value-attribute にアクセスするときは、範囲を指定する必要があります (その後、指定member
したプロパティ値にアクセスするコードで単に指定する代わりに、その multi-value 属性member;range=1-500
から最初の 500 個の値を取得します)。
AD がバージョン 2003 以降の場合は、単純なページング コントロールの代わりに、仮想リスト ビュー コントロールの使用を検討できます。仮想リスト ビューには、高度な結果の並べ替えオプションが用意されており、検索結果セットのサブセットをより強力に制御できます。