Übersicht über die ASP.NET-Formularauthentifizierung

Aktualisiert: November 2007

Die Formularauthentifizierung ermöglicht Ihnen, Benutzer mit eigenem Code zu authentifizieren und anschließend ein Authentifizierungstoken in einem Cookie oder der Seiten-URL beizubehalten. Die Formularauthentifizierung nimmt durch die FormsAuthenticationModule-Klasse am Lebenszyklus von ASP.NET-Seiten teil. Sie können über die FormsAuthentication-Klasse auf die Informationen und Fähigkeiten der Formularauthentifizierung zugreifen.

Zur Verwendung der Formularauthentifizierung erstellen Sie eine Anmeldeseite, auf der die Anmeldeinformationen des Benutzers entgegengenommen werden und die Code zur Authentifizierung der Anmeldeinformationen enthält. In der Regel konfigurieren Sie die Anwendung, um die Anfrage zur Anmeldeseite umzuleiten, wenn ein Benutzer eine geschützte Ressource anfordert, beispielsweise eine Seite, für die Authentifizierung erforderlich ist. Wenn die Benutzeranmeldeinformationen gültig sind, können Sie Methoden der FormsAuthentication-Klasse aufrufen, um die Anforderung an die ursprünglich angeforderte Ressource mit dem entsprechenden Authentifizierungsticket (Cookie) umzuleiten. Wenn Sie auf die Umleitung verzichten möchten, können Sie das Formularauthentifizierungscookie einfach abrufen bzw. festlegen. Bei nachfolgenden Anforderungen übergibt dann der Browser des Benutzers den Authentifizierungscookie zusammen mit der Anforderung, sodass die Anmeldeseite umgangen wird.

Die Formularauthentifizierung wird mit dem Konfigurationselement Authentifizierung konfiguriert. Im einfachsten Fall haben Sie eine Anmeldeseite. In der Konfigurationsdatei geben Sie eine URL an, um nicht authentifizierte Anforderungen zur Anmeldeseite umzuleiten. Dann definieren Sie gültige Anmeldeinformationen entweder in der Datei Web.config oder einer separaten Datei. Das folgende Beispiel zeigt einen Abschnitt aus einer Konfigurationsdatei, in dem eine Anmeldeseite sowie Authentifizierungsinformationen für die Authenticate-Methode angegeben sind. Die Kennwörter wurden mit der HashPasswordForStoringInConfigFile-Methode verschlüsselt.

<authentication mode="Forms">
   <forms name="SavingsPlan" loginUrl="/Login.aspx">
      <credentials passwordFormat="SHA1">
         <user name="Kim"
               password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
         <user name="John"
               password="BA56E5E0366D003E98EA1C7F04ABF8FCB3753889"/>
      </credentials>
   </forms>
</authentication>

Nach erfolgreicher Authentifizierung legt das FormsAuthenticationModule-Modul den Wert der User-Eigenschaft auf einen Verweis zum authentifizierten Benutzer fest. Das folgende Codebeispiel zeigt, wie die Identität des formularauthentifizierten Benutzers programmgesteuert gelesen wird.

Dim authUser2 As String = User.Identity.Name
String authUser2 = User.Identity.Name;

Formularauthentifizierung, ASP.NET-Mitgliedschaft und ASP.NET-Anmeldungssteuerelemente

Eine Formularauthentifizierung lässt sich auf komfortable Weise mit der ASP.NET-Mitgliedschaft und den ASP.NET-Anmeldungssteuerelementen implementieren. Die ASP.NET-Mitgliedschaft bietet die Möglichkeit zum Speichern und Verwalten von Benutzerinformationen und stellt Methoden für die Benutzerauthentifizierung bereit. ASP.NET-Login-Steuerelemente arbeiten mit der ASP.NET-Mitgliedschaft. Sie kapseln die notwendige Logik, um Benutzer zur Eingabe der Anmeldeinformationen aufzufordern, Benutzer zu überprüfen, Kennwörter wiederherzustellen oder zu ersetzen usw. Als Ergebnis bieten ASP.NET-Mitgliedschaft und ASP.NET-Login-Steuerelemente eine Abstraktionsebene für die Formularauthentifizierung. Diese Features ersetzen die meisten Arbeiten, die Sie üblicherweise zur Formularauthentifizierung leisten müssten. Weitere Informationen finden Sie unter Verwalten von Benutzern durch Mitgliedschaft und Übersicht über ASP.NET-Anmeldungssteuerelemente.

Formularauthentifizierung und der Authentifizierungsdienst

Sie können auf die Formularauthentifizierung auch in Form des WCF-Diensts (Windows Communication Framework) zugreifen, indem Sie den ASP.NET-Authentifizierungsdienst verwenden. Der Authentifizierungsdienst ermöglicht, Formularauthentifizierung von jeder Anwendung aus zu verwenden, die Nachrichten im SOAP-Format senden und verarbeiten kann. Der Authentifizierungsdienst akzeptiert Benutzeranmeldeinformationen und gibt ein Formularauthentifizierungscookie zurück.

So können Sie beispielsweise Benutzer in einer Anwendung anmelden, die nicht mit .NET Framework entwickelt wurde. Weitere Informationen finden Sie unter Übersicht über den Windows Communication Foundation-Authentifizierungsdienst.

Siehe auch

Konzepte

Übersicht über die ASP.NET-Konfiguration

Weitere Ressourcen

Sicherheit für ASP.NET-Webanwendungen

Formularauthentifizierungsanbieter