Freigeben über


Gewusst wie: Aktivieren des WCF-Authentifizierungsdiensts

Aktualisiert: November 2007

In diesem Thema wird gezeigt, wie der ASP.NET-Authentifizierungsdienst auf einem Webserver konfiguriert wird, um ihn als Windows Communication Foundation (WCF)-Dienst für Clients bereitzustellen. Außerdem ist in diesem Thema dargestellt, wie die ASP.NET-Formularauthentifizierung konfiguriert wird.

Weitere Informationen zum Konfigurieren der ASP.NET-Mitgliedschaft finden Sie unter Konfigurieren einer ASP.NET-Anwendung für die Verwendung der Mitgliedschaft.

So aktivieren Sie den Authentifizierungsdienst

  1. Wenn Sie noch keine ASP.NET-Webanwendung haben, erstellen Sie eine.

  2. Fügen Sie der Website eine Dienstdatei (.svc) hinzu, die die im folgenden Beispiel dargestellte Direktive als Verweis auf die AuthenticationService-Klasse enthält:

    <%@ 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. Nehmen Sie die folgenden Konfigurationseinstellungen in der Datei Web.config vor, um den Dienst zu konfigurieren und die Verwendung von SSL festzulegen:

    • Aktivieren Sie den Authentifizierungsdienst im authenticationService-Element.

    • Definieren Sie den Endpunktevertrag im services-Element und das Verhalten des Dienstes im behaviors-Element. Fügen Sie die bindingNamespace-Eigenschaft wie im folgenden Beispiel in den Endpunktevertrag ein, um einer Ausnahme in einigen Tools zur Proxygenerierung vorzubeugen. Weitere Informationen zu WCF-Endpunkten finden Sie unter Windows Communication Foundation Endpoints.

    • Konfigurieren Sie das serviceHostingEnvironment-Element für ASP.NET-Kompatibilität. Weitere Informationen zum Hosten von WCF-Diensten finden Sie unter WCF Services and ASP.NET.

    • Erstellen Sie eine Bindung im bindings-Element, die SSL erfordert. Weitere Informationen zur Übertragungssicherheit in WCF finden Sie unter Transport Security.

    Das folgende Beispiel zeigt das system.serviceModel-Element einer Web.config-Datei, die der obigen Liste entsprechend konfiguriert ist.

    <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>
    

So konfigurieren Sie Formularauthentifizierung

  • Legen Sie die Einstellungen für die Webanwendung in der Datei Web.config so fest, dass diese Formularauthentifizierung verwendet.

    Das folgende Beispiel zeigt das authentication-Element einer Web.config-Datei, die für die Verwendung von Formularauthentifizierung konfiguriert ist.

    <authentication mode="Forms">
      <forms cookieless="UseCookies" />
    </authentication>
    

    Der Authentifizierungsdienst erfordert Cookies. Setzen Sie daher im authentication-Element das cookieless-Attribut auf "UseCookies". Weitere Informationen finden Sie unter Übersicht über die ASP.NET-Formularauthentifizierung.

Sicherheit

Greifen Sie auf den Authentifizierungsdienst stets unter Verwendung von SSL (Secure Sockets Layer, unter Verwendung des HTTPS-Protokolls) zu, wenn Sie vertrauliche Benutzerdaten wie Authentifizierungsinformationen übermitteln. Informationen zum Verwenden von SSL finden Sie unter Configuring Secure Sockets Layer (IIS 6.0 Operations Guide).

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten

Konzepte

Übersicht über den Windows Communication Foundation-Authentifizierungsdienst

Weitere Ressourcen

Konfigurieren von Diensten