共用方式為


HOW TO:啟用 WCF 驗證服務

更新:2007 年 11 月

本主題說明如何在 Web 伺服器上設定 ASP.NET 驗證服務,以供用戶端做為 Windows Communication Foundation (WCF) 服務使用。本主題也說明如何設定 ASP.NET 表單驗證。

有關如何設定 ASP.NET 成員資格,請參閱設定 ASP.NET 應用程式使用成員資格

啟用驗證服務

  1. 如果您沒有 ASP.NET Web 應用程式,請建立一個。

  2. 將服務檔案 (.svc) 加入到包含下列指示詞的網站,以參考 AuthenticationService 類別,如下列範例所示:

    <%@ 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" %>
    
  3. 在 Web.config 檔案中進行下列組態設定,以設定服務並要求 SSL:

    • 啟用 authenticationService 項目裡的驗證服務。

    • 定義 services 項目中的端點合約和 behaviors 項目中的服務行為。為了避免某些 Proxy 產生工具中出現例外狀況,請將 bindingNamespace 屬性包含在端點合約中,如下列範例所示。如需 WCF 端點的詳細資訊,請參閱 Windows Communication Foundation 端點

    • 設定 serviceHostingEnvironment 項目使其與 ASP.NET 相容。如需裝載 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 表單驗證概觀

安全性

傳遞敏感性使用者資料 (如驗證認證) 時,務必透過 Secure Sockets Layer (SSL,藉由使用 HTTPS 通訊協定) 來存取驗證服務。如需設定 SSL 的詳細資訊,請參閱設定 Secure Sockets Layer (IIS 6.0 操作手冊) (英文)。

請參閱

工作

逐步解說:使用 ASP.NET 應用程式服務

概念

Windows Communication Foundation 驗證服務概觀

其他資源

設定服務