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
Wenn Sie noch keine ASP.NET-Webanwendung haben, erstellen Sie eine.
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" %>
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