メンバシップ プロバイダ
更新 : 2007 年 11 月
プロバイダ モデルを使用することにより、メンバシップ システムを簡単に変更して、異なるデータ ストア、または異なるスキーマを使用するデータ ストアを使用できます。また、カスタム プロバイダを作成してメンバシップ システムを拡張することもできます。これは、メンバシップ システムと既存のユーザー データベース間のインターフェイスを作成するために行います。
階層メンバシップ モデルの重要な機能は、メンバシップ システムを使用するアプリケーションが特定のデータ ストアにバインドされないことです。必要に応じて、他のメンバシップ プロバイダを使用するようにアプリケーションを構成するだけで、アプリケーション コードを変更せずにアプリケーションの基になるメンバシップ データ ストアを切り替えることができます (可能な場合は、既存のユーザー情報を移行します)。たとえば、ユーザー情報を含むデータベースが既に存在する場合、そのデータを利用するようにプロバイダを記述すると、メンバシップ API はそのプロバイダを呼び出してメンバシップ タスクを実行します。
ASP.NET には 2 つのメンバシップ プロバイダが付属します。1 つは Microsoft SQL Server をデータ ソースとして使用し、もう 1 つは Windows Active Directory を使用します。サードパーティによっては、Oracle などの他のデータベースや、ASP.NET プロバイダが使用するスキーマとは異なるスキーマを持つ SQL Server データベースに使用できるメンバシップ プロバイダを作成することもあります。
また、複数のメンバシップ プロバイダを構成することにより、アプリケーション要件に基づいて、実行時にメンバシップ プロバイダを選択することもできます。たとえば、ビジネス上の理由で、メンバシップ情報が別の地域のデータベースに存在する可能性もあります。それぞれが他の地域のデータベースと情報をやり取りするように複数のメンバシップ プロバイダを構成して、さまざまなユーザー用の適切なプロバイダにメンバシップ呼び出しを転送できます。
カスタム メンバシップ プロバイダ
カスタム メンバシップ プロバイダを作成することもできます。これは、メンバシップ システムを既存のユーザー データベースにリンクする場合、ASP.NET に付属するプロバイダがサポートしないデータベースに接続する場合や、メンバシップを拡張してさらに機能を公開する場合に行います。
カスタム メンバシップ プロバイダを作成したら、アプリケーションがそのプロバイダを使用するように構成できます。これは、ASP.NET プロバイダを使用するようにアプリケーションを構成するのと同じ方法で行うことができます。Membership クラスは、カスタム プロバイダを自動的に呼び出して認証データ ソースと対話します。
カスタム メンバシップ プロバイダの作成の詳細については、「メンバシップ プロバイダの実装」を参照してください。また、「サンプル メンバシップ プロバイダの実装」も参照してください。