Einführung in die Mitgliedschaft

Aktualisiert: November 2007

Die ASP.NET-Mitgliedschaft bietet Ihnen eine integrierte Möglichkeit, Benutzeranmeldeinformationen zu überprüfen und zu speichern. Die ASP.NET-Mitgliedschaft erleichtert Ihnen dadurch die Verwaltung der Benutzerauthentifizierung auf Ihren Websites. Wenn Sie die ASP.NET-Mitgliedschaft zusammen mit der ASP.NET-Formularauthentifizierung oder den ASP.NET-Anmeldesteuerelementen verwenden, haben Sie ein vollständiges System zur Benutzerauthentifizierung.

Die ASP.NET-Mitgliedschaft ermöglicht Folgendes:

  • Erstellen von neuen Benutzern und Kennwörtern.

  • Speichern von Mitgliedschaftsinformationen (Benutzernamen, Kennwörter und zusätzliche Daten) in Microsoft SQL Server, Active Directory oder einem alternativen Datenspeicher.

  • Authentifizieren von Benutzern, die die Site besuchen. Sie können Benutzer programmgesteuert authentifizieren oder mit den ASP.NET-Anmeldesteuerelementen ein vollständiges Authentifizierungssystem erstellen, das nur wenig oder gar keinen Code erfordert.

  • Verwalten von Kennwörtern, einschließlich Erstellen, Ändern und Zurücksetzen. Je nach den gewählten Mitgliedschaftsoptionen kann das Mitgliedschaftssystem auch ein automatisiertes System zur Kennwortzurücksetzung enthalten, das eine vom Benutzer angegebene Frage-/Antwortkombination verwendet.

  • Verfügbarmachen einer eindeutigen Identifikation für authentifizierte Benutzer, die Sie in eigenen Anwendungen verwenden können, und die außerdem in die Systeme von ASP.NET zur Personalisierung und Rollenverwaltung (Autorisierung) integriert werden kann.

  • Angeben eines benutzerdefinierten Mitgliedschaftsanbieters, bei dem Sie eigenen Code zur Mitgliedschaftsverwaltung verwenden und Mitgliedschaftsdaten in einem benutzerdefinierten Datenspeicher speichern können.

Mitgliedschaft, Rollen und das Benutzerprofil

Die Mitgliedschaft ist zwar ein eigenständiges Feature zur Authentifizierung in ASP.NET, kann aber in die ASP.NET-Rollenverwaltung integriert werden, um Autorisierungsdienste für eine Site zu liefern. Die Mitgliedschaft kann auch in das Benutzerprofil integriert werden, um eine anwendungsspezifische Anpassung zu bieten, die auf einzelne Benutzer zugeschnitten werden kann. Ausführliche Informationen finden Sie unter Verwalten der Autorisierung mithilfe von Rollen und Übersicht über ASP.NET-Profileigenschaften.

Funktionsweise der Mitgliedschaft

Sie müssen die Mitgliedschaft zuerst für die Site konfigurieren, um Sie verwenden zu können. Dazu sind folgende Schritte erforderlich:

  1. Geben Sie als Teil der Websitekonfiguration Mitgliedschaftsoptionen an. Standardmäßig ist die Mitgliedschaft aktiviert. Sie können auch angeben, welchen Mitgliedschaftsanbieter Sie verwenden möchten. (Bei der Angabe des Mitgliedschaftsanbieters geht es darum, den Datenbanktyp für das Speichern der Mitgliedschaftsinformationen festzulegen.) Der Standardanbieter verwendet eine Microsoft SQL Server-Datenbank. Sie können sich auch für Active Directory zur Speicherung der Mitgliedschaftsinformationen entscheiden oder einen benutzerdefinierten Anbieter angeben. Informationen über Mitgliedschaftskonfigurationsoptionen, die Sie für Ihre ASP.NET-Anwendung in der Datei Web.config angeben können, finden Sie unter Konfigurieren einer ASP.NET-Anwendung für die Verwendung der Mitgliedschaft.

  2. Legen Sie in der Konfiguration der Anwendung fest, dass Formularauthentifizierung (nicht Windows- oder Passport-Authentifizierung) verwendet werden soll. In der Regel geben Sie an, dass einige Seiten oder Ordner in Ihrer Anwendung geschützt und nur für authentifizierte Benutzer zugänglich sind.

  3. Definieren Sie Benutzerkonten für die Mitgliedschaft. Dazu haben Sie mehrere Möglichkeiten: Sie können das Websiteverwaltungs-Tool verwenden, das eine assistentenbasierte Oberfläche zum Erstellen von neuen Benutzern bietet. Sie können aber auch eine ASP.NET-Webseite für neue Benutzer erstellen, auf der Sie einen Benutzernamen und ein Kennwort (und optional eine E-Mail-Adresse) erfassen, und dann mithilfe der Mitgliedschaftsfunktion CreateUser einen neuen Benutzer im Mitgliedschaftssystem erstellen.

Jetzt können Sie die Mitgliedschaft verwenden, um Benutzer in der Anwendung zu authentifizieren. Dazu wird meistens ein Anmeldeformular verwendet. Dabei kann es sich um eine separate Seite oder einen Bereich auf der Homepage handeln. Das Anmeldeformular können Sie entweder manuell mit den TextBox-Steuerelementen von ASP.NET oder unter Verwendung der ASP.NET-Anmeldesteuerelemente erstellen. Da Sie die Anwendung für die Verwendung der Formularauthentifizierung konfiguriert haben, zeigt ASP.NET automatisch die Anmeldeseite an, wenn ein nicht authentifizierter Benutzer eine geschützte Seite anfordert.

Hinweis:

Die ASP.NET-Anmeldesteuerelemente (Login, LoginView, LoginStatus, LoginName und PasswordRecovery) schließen praktisch die gesamte Logik ein, die benötigt wird, um Benutzer zur Eingabe von Anmeldeinformationen aufzufordern und die Anmeldeinformationen im Mitgliedschaftssystem zu überprüfen.

Wenn Sie Anmeldesteuerelemente einsetzen, verwenden diese automatisch das Mitgliedschaftssystem, um Benutzer zu überprüfen. Wenn Sie ein Anmeldeformular manuell erstellt haben, können Sie den Benutzer zur Eingabe von Benutzernamen und Kennwort auffordern und dann die ValidateUser-Methode zur Durchführung der Validierung aufrufen. Nach der Überprüfung des Benutzers können Benutzerinformationen mithilfe von Formularauthentifizierung beibehalten werden (z. B. mit einem verschlüsselten Cookie, wenn der Browser des Benutzers Cookies annimmt). Die Anmeldesteuerelemente führen diese Aufgabe automatisch aus. Wenn Sie ein Anmeldeformular manuell erstellt haben, können Sie Methoden der FormsAuthentication-Klasse aufrufen, um das Cookie zu erstellen und es auf den Computer des Benutzers zu schreiben. Wenn ein Benutzer sein Kennwort vergessen hat, kann die Anmeldeseite Mitgliedschaftsfunktionen aufrufen, die dem Benutzer dabei helfen, sich an das Kennwort zu erinnern oder ein neues zu erstellen.

Jedes Mal, wenn der Benutzer eine weitere geschützte Seite anfordert, überprüft die ASP.NET-Formularauthentifizierung, ob der Benutzer authentifiziert ist. Dem Benutzer wird dann gestattet, die Seite anzuzeigen, oder es erfolgt eine Umleitung zur Anmeldeseite. Standardmäßig bleibt das Authentifizierungscookie für die gesamte Sitzung des Benutzers gültig.

Nach der Authentifizierung eines Benutzers stellt das Mitgliedschaftssystem ein Objekt zur Verfügung, das Informationen über den aktuellen Benutzer enthält. So können Sie beispielsweise Eigenschaften des Mitgliedschaftsbenutzerobjekts abrufen, um den Namen und die E-Mail-Adresse des Benutzers, seine letzte Anmeldung bei Ihrer Anwendung usw. zu ermitteln.

Ein wichtiger Aspekt des Mitgliedschaftssystems ist, dass Sie niemals explizit Low-Level-Datenbankfunktionen verwenden müssen, um Benutzerinformationen abzurufen oder festzulegen. Zum Beispiel erstellen Sie einen neuen Benutzer, indem Sie die CreateUser-Mitgliedschaftsmethode aufrufen. Das Mitgliedschaftssystem übernimmt dann die Erstellung der notwendigen Datenbankdatensätze zur Speicherung der Benutzerinformationen. Wenn Sie die ValidateUser-Methode aufrufen, um die Anmeldeinformationen eines Benutzers zu überprüfen, wird die Suche in der Datenbank vom Mitgliedschaftssystem für Sie erledigt.

Mitgliedschaftskonfiguration und -verwaltung

Sie konfigurieren das Mitgliedschaftssystem in der Datei Web.config der Anwendung. Die einfachste Möglichkeit zur Konfiguration und Verwaltung der Mitgliedschaft ist das Websiteverwaltungs-Tool, das eine assistentenbasierte Oberfläche bietet. Angaben für die Mitgliedschaftskonfiguration:

  • Mitgliedschaftsanbieter, der verwendet werden soll. (Dadurch wird i. d. R. auch die Datenbank festgelegt, in der die Mitgliedschaftsinformationen gespeichert werden.)

  • Kennwortoptionen, z. B. Verschlüsselung und ob die Kennwortwiederherstellung durch eine benutzerdefinierte Frage unterstützt wird.

  • Benutzer und Kennwörter. Bei Verwendung des Websiteverwaltungs-Tools können Benutzer direkt eingerichtet und verwaltet werden. Andernfalls müssen Sie Mitgliedschaftsfunktionen aufrufen, um Benutzer programmgesteuert einzurichten und zu verwalten.

Siehe auch

Konzepte

Sichern der Mitgliedschaft

Weitere Ressourcen

Verwalten von Benutzern durch Mitgliedschaft