Übersicht über den Windows Communication Foundation-Authentifizierungsdienst

Aktualisiert: November 2007

Mit dem Windows Communication Foundation (WCF)-Authentifizierungsdienst können ASP.NET-Mitgliedschaften verwendet werden, um Benutzer aus jeder Anwendung zu authentifizieren, die SOAP-Nachrichten senden und verarbeiten kann. Dies kann Anwendungen einschließen, die .NET Framework nicht verwenden. Benutzer dieser anderen Anwendungen benötigen deshalb nicht für jede Anwendung eigene Anmeldeinformationen. Benutzer können bei beliebigen Clientanwendungen dieselben Anmeldeinformationen verwenden und sich von diesen bei der Anwendung anmelden.

Dieses Thema enthält folgende Abschnitte:

  • Szenarien

  • Hintergrund

  • Codebeispiele

  • Klassenreferenz

Szenarien

Sie greifen auf den Authentifizierungsdienst als WCF-Dienst zu, wenn Sie Benutzer mithilfe der ASP.NET-Mitgliedschaft aus einer Anwendung authentifizieren müssen, die keine ASP.NET-Webanwendung ist. Dies kann eine Konsolenanwendung, eine Windows Forms-Anwendung oder eine nicht mit .NET Framework entwickelte Anwendung sein. Die Anwendung muss SOAP-Nachrichten senden und verarbeiten können.

Zurück nach oben

Hintergrund

Zum Verwenden dieses Diensts übergeben Sie die Anmeldeinformationen des Benutzers an den Authentifizierungsdienst, der diese mithilfe der ASP.NET-Mitgliedschaft überprüft. Der Authentifizierungsdienst überprüft standardmäßig Benutzernamen und Kennwort, indem er diese an den Standardanbieter für Mitgliedschaften übergibt.

Nach der Authentifizierung des Benutzers wird durch den ASP.NET-Authentifizierungsdienst ein Authentifizierungsticket als HTTP-Cookie ausgegeben, das mit der ASP.NET-Formularauthentifizierung kompatibel ist. Bei nachfolgenden Anforderungen wird das Ticket an die Webanwendung übergeben, sodass der Benutzer nicht jedes Mal erneut Anmeldeinformationen angeben muss.

Die Einbettung des Authentifizierungstickets in die URL wird durch den Authentifizierungsdienst nicht unterstützt. Im Client müssen daher Cookies aktiviert sein, um das Authentifizierungsticket beizubehalten.

Aus Sicherheitsgründen sollte die Clientanwendung immer über SSL (Secure Sockets Layer, unter Verwendung des HTTPS-Protokolls) auf den Authentifizierungsdienst zugreifen. Weitere Informationen zur Einrichtung von SSL finden Sie auf der Microsoft-Website unter Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) und Configuring Secure Sockets Layer in IIS 7.0.

Authentifizieren mit benutzerdefinierten Anmeldeinformationen

Einer Authentifizierungsanforderung können benutzerdefinierte Anmeldeinformationen hinzugefügt werden, wenn der Benutzer außer mit Benutzernamen und Kennwort mit weiteren Informationen überprüft werden soll, beispielsweise einer Identifikationsnummer. Zum Berücksichtigen zusätzlicher Informationen bei der Authentifizierung übergeben Sie die benutzerdefinierten Anmeldeinformationen im CustomCredential-Parameter, wenn Sie die login-Methode des Authentifizierungsdiensts verwenden. Anschließend erstellen Sie einen Ereignishandler für das Authenticating-Ereignis. Im Handler können Sie die Anmeldeinformationen lesen und selbst überprüfen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Anpassen der Benutzeranmeldung bei Verwendung des WCF-Authentifizierungsdiensts.

Authentifizieren mit einem benutzerdefinierten Mitgliedschaftsanbieter

Sie können Benutzernamen und Kennwort durch einen nicht-standardmäßigen Mitgliedschaftsanbieter authentifizieren, indem Sie einen Ereignishandler für das Authenticating-Ereignis erstellen. Sie übergeben dann den Benutzernamen und das Kennwort an die ValidateUser-Methode des benutzerdefinierten Mitgliedschaftsanbieters. Weitere Informationen hierzu finden Sie unter Gewusst wie: Verwenden eines nicht standardmäßigem Mitgliedschaftsanbieters für den WCF-Authentifizierungsdienst.

Sie können nicht vertrauliche Benutzerinformationen als Teil des Authentifizierungstickets beibehalten. Beispielsweise können Sie die Lieblingsfarbe des Benutzers im Ticket speichern, um sie später bei Bedarf abzurufen. Zum Anpassen des Authentifizierungscookies erstellen Sie einen Ereignishandler für das CreatingCookie-Ereignis des Authentifizierungsdiensts und speichern anschließend die Benutzerdaten in der UserData-Eigenschaft des FormsAuthenticationTicket-Objekts. Weitere Informationen hierzu finden Sie unter Gewusst wie: Anpassen des Authentifizierungscookies über den WCF-Authentifizierungsdienst.

Hinweis:

Speichern Sie zu keiner Zeit das Kennwort des Benutzers oder andere vertrauliche Daten im Ticket.

Zurück nach oben

Codebeispiele

Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten

Gewusst wie: Aktivieren des WCF-Authentifizierungsdiensts

Gewusst wie: Anpassen der Benutzeranmeldung bei Verwendung des WCF-Authentifizierungsdiensts

Gewusst wie: Verwenden eines nicht standardmäßigem Mitgliedschaftsanbieters für den WCF-Authentifizierungsdienst

Gewusst wie: Anpassen des Authentifizierungscookies über den WCF-Authentifizierungsdienst

Zurück nach oben

Klassenreferenz

In der folgenden Tabelle werden die wichtigsten Serverklassen für den WCF-Authentifizierungsdienst aufgelistet.

Zurück nach oben

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten

Konzepte

Einführung in die Mitgliedschaft