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 をカスタマイズする」を参照してください。
メモ : |
---|
ユーザーのパスワード、その他の機密情報はチケットに保存しないでください。 |
ページのトップへ
コード例
チュートリアル : ASP.NET アプリケーション サービスの使用
方法 : WCF 認証サービスを使用するときのユーザー ログインをカスタマイズする
方法 : WCF 認証サービスに既定以外のメンバシップ プロバイダを使用する
方法 : WCF 認証サービスから認証 Cookie をカスタマイズする
ページのトップへ
クラス参照
WCF 認証アプリケーション サービスの主要なサーバー クラスの一覧を次の表に示します。
AuthenticationService
Web サービスを使用してユーザーを認証する方法を提供します。AuthenticatingEventArgs
Authenticating イベントにデータを提供します。
ページのトップへ
参照
処理手順
チュートリアル : ASP.NET アプリケーション サービスの使用