Windows Communication Foundation の認証サービスの概要

更新 : 2007 年 11 月

Windows Communication Foundation (WCF) の認証サービスを利用すると、SOAP メッセージを送信および処理できる任意のアプリケーションで、ASP.NET メンバシップを使用してユーザーを認証できます。これには、.NET Framework を使用しないアプリケーションが含まれます。したがって、これらの異なるアプリケーションのユーザーは、資格情報を各アプリケーションごとに別に持つ必要がありません。ユーザーは、いずれのクライアント アプリケーションを使用するときにも同じ資格情報を入力し、これらすべてからアプリケーションにログインできます。

このトピックは、次のセクションで構成されています。

  • シナリオ

  • 背景

  • コード例

  • クラス参照

シナリオ

ASP.NET Web アプリケーションではないアプリケーションで、ASP.NET メンバシップを使用してユーザーを認証する必要がある場合、WCF サービスの 1 つである認証サービスにアクセスします。これには、コンソール アプリケーション、Windows フォーム アプリケーション、.NET Framework を使用しないで開発されたアプリケーションなどが含まれます。アプリケーションは、SOAP メッセージを送信および処理できることが必要です。

ページのトップへ

背景

サービスを使用するには、認証サービスにユーザーの資格情報を渡します。認証サービスでは、ASP.NET メンバシップを使用して渡された資格情報の妥当性を検査します。既定では、認証サービスは、ユーザー名およびパスワードを既定のメンバシップ プロバイダに渡すことで、妥当性を検査します。

ユーザーが認証されると、ASP.NET 認証サービスは、ASP.NET フォーム認証と互換性がある HTTP Cookie として認証チケットを発行します。以降の要求では、毎回ユーザーが資格情報を入力しなくてもよいように、このチケットが Web アプリケーションに渡されます。

認証サービスでは、URL への認証チケットの埋め込みはサポートされません。このため、クライアントで認証チケットを保持するためには、Cookie が有効になっていることが必要です。

セキュリティ上の理由で、クライアント アプリケーションから認証サービスへのアクセスには、SSL (Secure Sockets Layer) で HTTPS プロトコルを使用する必要があります。SSL を設定する方法の詳細については、Microsoft Web サイトの「SSL (Secure Sockets Layer) を構成する (IIS 6.0 操作ガイド)」および「Configuring Secure Sockets Layer in IIS 7.0」を参照してください。

カスタムの資格情報による認証方法

名前およびパスワードに加えて、ID 番号などの情報でユーザーの妥当性を検査する必要がある場合、認証要求内にカスタムの資格情報を追加できます。認証に追加情報を含めるには、認証サービスのログイン メソッドを呼び出すときに、カスタマイズされた資格情報を CustomCredential パラメータで渡します。次に、Authenticating イベントのイベント ハンドラを作成します。ハンドラ内で、資格情報を読み取り、自分で妥当性を検査できます。詳細については、「方法 : WCF 認証サービスを使用するときのユーザー ログインをカスタマイズする」を参照してください。

カスタムのメンバシップ プロバイダによる認証方法

Authenticating イベントのイベント ハンドラを作成することにより、既定以外のメンバシップ プロバイダを使用してユーザー名およびパスワードを認証できます。次に、そのユーザー名およびパスワードをカスタムのメンバシップ プロバイダの ValidateUser メソッドに渡します。詳細については、「方法 : WCF 認証サービスに既定以外のメンバシップ プロバイダを使用する」を参照してください。

認証チケットの一部として、機密ではないユーザー情報を保持できます。たとえば、後で必要になる場合、ユーザーのお気に入りの色をチケット内に保存できます。認証 Cookie をカスタマイズするには、その認証サービスの CreatingCookie イベントに対するイベント ハンドラを作成し、ユーザー データを FormsAuthenticationTicket オブジェクトの UserData プロパティに格納します。詳細については、「方法 : WCF 認証サービスから認証 Cookie をカスタマイズする」を参照してください。

Bb386582.alert_note(ja-jp,VS.90).gifメモ :

ユーザーのパスワード、その他の機密情報はチケットに保存しないでください。

ページのトップへ

コード例

チュートリアル : ASP.NET アプリケーション サービスの使用

方法 : WCF 認証サービスを有効にする

方法 : WCF 認証サービスを使用するときのユーザー ログインをカスタマイズする

方法 : WCF 認証サービスに既定以外のメンバシップ プロバイダを使用する

方法 : WCF 認証サービスから認証 Cookie をカスタマイズする

ページのトップへ

クラス参照

WCF 認証アプリケーション サービスの主要なサーバー クラスの一覧を次の表に示します。

ページのトップへ

参照

処理手順

チュートリアル : ASP.NET アプリケーション サービスの使用

概念

メンバシップの概要