次の方法で共有


ActiveDirectoryMembershipProvider.FindUsersByName メソッド

定義

ユーザー名に基づいて、Active Directory データ ストアからユーザーのコレクションを返します。

public:
 override System::Web::Security::MembershipUserCollection ^ FindUsersByName(System::String ^ usernameToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByName : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByName (usernameToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

パラメーター

usernameToMatch
String

検索するユーザー名またはユーザー名の一部。

pageIndex
Int32

返される結果のページのインデックス。 pageIndex は 0 から始まります。

pageSize
Int32

返される結果のページのサイズ。

totalRecords
Int32

このメソッドから制御が戻るときに、コレクションに返されたレコードの合計数が格納されます。 このパラメーターは初期化せずに渡されます。

戻り値

pageIndexによって指定されたページから始まるpageSizeMembershipUserインスタンスを含むMembershipUserCollection

例外

ActiveDirectoryMembershipProvider インスタンスが初期化される前に、FindUsersByName(String, Int32, Int32, Int32) メソッドが呼び出されます。

usernameToMatch が空であるか、ユーザー名の最大長 (通常は 256 文字) を超えています。

-又は-

usernameToMatch にはコンマが含まれています。

-又は-

pageIndex が 0 未満です。

-または

pageSize が 1 未満です。

-又は-

pageSize pageIndexを乗算し、pageSizeを加算し、1 を引いた値が Int32.MaxValue より大きい。

usernameToMatchnullです。

EnableSearchMethods プロパティはfalse

注釈

FindUsersByName メソッドは、userNameToMatch パラメーターと一致するすべてのユーザー名の Active Directory データ ストアのユーザー レコードを含むMembershipUserCollection インスタンスを返します。 レコードは、ユーザー名でアルファベット順に並べ替えられて返されます。

FindUsersByName メソッドによって返される結果は、pageIndexパラメーターとpageSize パラメーターによって制限されます。 pageSize パラメーターは、MembershipUserCollectionで返MembershipUserインスタンスの最大数を指定します。 pageIndex パラメーターは、返す結果のページを指定します。0 (ゼロ) は最初のページを示します。

totalRecords パラメーターは、Active Directory データ ストアで見つかった一致するメンバーシップ ユーザーの合計数に設定されるout パラメーターです。 たとえば、構成されたデータ ストアに 13 人のユーザーがいて、 pageIndex 値が 1 で pageSize が 5 の場合、返される MembershipUserCollection には 6 番目から 10 番目のユーザーが含まれます。 totalRecords パラメーターは 13 に設定されます。

メンバーシップ要素 (ASP.NET Settings Schema) 要素のenableSearchMethods属性を使用して、アプリケーションの構成ファイルで EnableSearchMethods プロパティを設定することで、ユーザーの検索を許可するかどうかを制御できます。 EnableSearchMethodsプロパティ値を false に設定すると、FindUsersByName メソッドはNotSupportedException例外をスローします。

プロバイダーは、接続文字列で指定された検索ポイントから始まるサブツリー検索を使用します。 接続文字列の詳細については、 ActiveDirectoryMembershipProvider クラスのトピックを参照してください。

ActiveDirectoryMembershipProvider クラスによって発行された検索クエリがディレクトリ サーバーのパフォーマンスに悪影響を与えないことを確認するまで、運用システムでの検索を有効にしないことをお勧めします。 ActiveDirectoryMembershipProvider クラスはステートレス Web 環境用に設計されているため、基になるSystem.DirectoryServices API によって公開されるページングの最適化を使用できません。 つまり、大規模なディレクトリに対する検索中のページング操作は非常に高価であり、回避する必要があります。 検索操作は、接続文字列で構成されているディレクトリ サーバー、またはドメインを指す接続文字列の場合は自動的に選択されたサーバーに対して常に発行されます。 プロバイダーは、検索方法にグローバル カタログを使用しません。

適用対象

こちらもご覧ください