方法 : WCF 認証サービスを有効にする
更新 : 2007 年 11 月
ここでは、Windows Communication Foundation (WCF) サービスとしてクライアントが利用できるように Web サーバー上で ASP.NET 認証サービスを構成する方法について説明します。また、ASP.NET フォーム認証の構成方法についても説明します。
ASP.NET メンバシップの構成方法の詳細については、「ASP.NET アプリケーションの設定によるメンバシップの使用」を参照してください。
認証サービスを有効にするには
ASP.NET Web アプリケーションがまだない場合は作成します。
次の例に示すように、AuthenticationService クラスを参照する次のディレクティブを含んだサービス ファイル (.svc) を Web サイトに追加します。
<%@ ServiceHost Language="VB" Service="System.Web.ApplicationServices.AuthenticationService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %> <%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.AuthenticationService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
Web.config ファイルで次の構成設定を行うことで、サービスを構成し、SSL を要求します。
authenticationService 要素で認証サービスを有効にします。
services 要素でエンドポイント コントラクトを定義し、behaviors 要素でサービスの動作を定義します。プロキシ生成ツールで例外が発生しないように、次の例に示すように、エンドポイント コントラクトに bindingNamespace プロパティを組み込みます。WCF エンドポイントの詳細については、「Windows Communication Foundation エンドポイント」を参照してください。
ASP.NET との互換性のために、serviceHostingEnvironment 要素を構成します。WCF サービスをホストする方法については、「WCF サービスと ASP.NET」を参照してください。
bindings 要素で、SSL を必要とするバインディングを作成します。WCF でのトランスポート セキュリティの詳細については、「トランスポート セキュリティ」を参照してください。
前の一覧で説明した構成設定を示す Web.config ファイルの system.serviceModel 要素の例を次に示します。
<system.web.extensions> <scripting> <webServices> <authenticationService enabled="true" requireSSL = "true"/> </webServices> </scripting> </system.web.extensions> <system.serviceModel> <services> <service name="System.Web.ApplicationServices.AuthenticationService" behaviorConfiguration="AuthenticationServiceTypeBehaviors"> <endpoint contract= "System.Web.ApplicationServices.AuthenticationService" binding="basicHttpBinding" bindingConfiguration="userHttps" bindingNamespace="https://asp.net/ApplicationServices/v200"/> </service> </services> <bindings> <basicHttpBinding> <binding name="userHttps"> <security mode="Transport" /> </binding> </basicHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="AuthenticationServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel>
フォーム認証を構成するには
Web.config ファイルで、フォーム認証を使用するよう Web アプリケーションを構成します。
フォーム認証を使用するよう構成された Web.config ファイルの authentication 要素の例を次に示します。
<authentication mode="Forms"> <forms cookieless="UseCookies" /> </authentication>
認証サービスには Cookie が必要です。そのため、authentication 要素の cookieless 属性を "UseCookies" に設定します。詳細については、「ASP.NET フォーム認証の概要」を参照してください。
セキュリティ
認証資格情報などの機密のユーザー データを渡す場合、必ず HTTPS プロトコルを使用して SSL 経由で認証サービスにアクセスします。SSL のセットアップ方法については、「SSL (Secure Sockets Layer) を構成する (IIS 6.0 操作ガイド)」を参照してください。
参照
処理手順
チュートリアル : ASP.NET アプリケーション サービスの使用
概念
Windows Communication Foundation の認証サービスの概要