Exemplarische Vorgehensweise: Erstellen einer Website mit Mitgliedschaft und Benutzeranmeldung
Aktualisiert: November 2007
Eine übliche Anforderung bei Websites besteht darin, dass bestimmte Seiten nur von bestimmten Mitgliedern oder anderen authentifizierten Benutzern angezeigt werden dürfen. In diesem Fall muss die Anwendung den Benutzer zur Eingabe eines Namens und eines Kennworts auffordern. Die Anwendung muss auch eine Möglichkeit enthalten, Informationen vor anonymen Benutzern (nicht angemeldeten Benutzern) zu verbergen. In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie mithilfe von ASP.NET-Steuerelementen und ASP.NET-Mitgliedschaftsdiensten eine entsprechende Anwendung erstellen. Weitere Informationen hierzu finden Sie unter Einführung in die Mitgliedschaft.
Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:
Konfigurieren von Anwendungen für das Einschließen von ASP.NET-Mitgliedschaftsdiensten und Definieren von Benutzern.
Abrufen von Anmeldeinformationen von Benutzern mithilfe von Anmeldesteuerelementen und Anzeigen von Informationen für angemeldete Benutzer.
Schützen einer oder mehrerer Seiten in der Anwendung, sodass diese nur angemeldeten Benutzern angezeigt werden können.
Zulassen, dass sich neue Benutzer bei der Website registrieren.
Zulassen, dass Mitglieder ihre Kennwörter ändern oder zurücksetzen.
Vorbereitungsmaßnahmen
Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
Microsoft Visual Web Developer.
Auf dem Computer lokal installierte Microsoft Internetinformationsdienste (IIS).
Lokal auf dem Computer installierte SQL Server Express Edition
Microsoft Data Access Components (MDAC), Version 2.7 oder höher. Wenn Sie Microsoft Windows XP oder Windows Server 2003 verwenden, verfügen Sie bereits über MDAC 2.7. Wenn Sie jedoch Microsoft Windows 2000 verwenden, müssen Sie möglicherweise die bereits auf dem Computer installierte Version von MDAC aktualisieren. Weitere Informationen finden Sie im Artikel "Microsoft Data Access Components (MDAC) Installation" in der MSDN Library.
Zugriff auf einen E-Mail-Server, der E-Mail-Nachrichten weiterleiten kann. (Der Server muss keine Meldungen empfangen können.) In IIS ist der virtuelle SMTP-Standardserver enthalten, ein E-Mail-Server, der für diese exemplarische Vorgehensweise geeignet ist. Weitere Informationen zum Konfigurieren dieses Servers finden Sie unter Gewusst wie: Installieren und Konfigurieren von virtuellen SMTP-Servern in IIS 6.0. Wenn Sie in einem LAN arbeiten, erhalten Sie die Informationen für den Zugriff auf einen E-Mail-Server bei Ihrem Netzwerkadministrator.
Erstellen der Website
Wenn Sie bereits eine Website in Microsoft Visual Studio erstellt haben (beispielsweise im Thema Exemplarische Vorgehensweise: Erstellen einer einfachen Webseite in Visual Web Developer), können Sie diese Website verwenden und direkt zum Abschnitt "Konfigurieren der Mitgliedschaft" weiter unten in dieser exemplarischen Vorgehensweise wechseln. Erstellen Sie andernfalls eine neue Website und eine neue Webseite, indem Sie folgende Schritte ausführen.
So erstellen Sie eine lokale IIS-Website
Öffnen Sie Visual Studio.
Klicken Sie im Menü Datei auf Neue Website.
Das Dialogfeld Neue Website wird angezeigt.
Wählen Sie unter Von Visual Studio installierte Vorlagen die Option ASP.NET-Website aus.
Wählen Sie im Listenfeld Speicherort den Eintrag HTTP aus. Klicken Sie auf Durchsuchen.
Das Dialogfeld Speicherort auswählen wird angezeigt.
Wählen Sie Lokale IIS aus.
Öffnen Sie Lokale Webserver.
Wählen Sie Standardwebsite aus.
Klicken Sie auf das Symbol Neue Webanwendung erstellen (), das über der Liste der Websites angezeigt wird, und geben Sie der neuen Website den Namen membership.
Klicken Sie auf Öffnen.
Das Dialogfeld Speicherort auswählen wird geschlossen.
Klicken Sie im Feld Sprachen auf die Programmiersprache, in der Sie arbeiten möchten.
Die ausgewählte Programmiersprache wird zur Standardsprache für die Website. Sie können jedoch die Programmiersprache für jede Seite einzeln festlegen.
Klicken Sie im Dialogfeld Neue Website auf OK.
Visual Web Developer erstellt die Website und die neue Seite Default.aspx.
Konfigurieren der Mitgliedschaft
Weiter unten in dieser exemplarischen Vorgehensweise legen Sie Seiten in einem geschützten Unterverzeichnis ab. Sie müssen das Unterverzeichnis jetzt erstellen, damit Sie dafür zu einem späteren Zeitpunkt die Sicherheit konfigurieren können.
So fügen Sie der Website einen neuen Ordner hinzu
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen Ihrer Website, und klicken Sie anschließend auf Neuer Ordner.
Geben Sie dem Ordner den Namen MemberPages.
Bevor Sie mit der ASP.NET-Mitgliedschaft arbeiten können, müssen Sie die Anwendung konfigurieren, um die Mitgliedschaft zu aktivieren und Benutzer einzurichten. Sie können das Websiteverwaltungs-Tool verwenden, das eine assistentenbasierte Oberfläche für die Konfigurationseinstellungen bietet. Wenn Sie den Setup-Assistenten abgeschlossen haben, wird die SQL Server-Datenbank ASPNETDB.MDF im Ordner App_Data des Projekts erstellt.
Für diese exemplarische Vorgehensweise definieren Sie einen einzelnen Benutzer.
So erstellen Sie einen Mitgliedschaftsbenutzer
Klicken Sie im Menü Website auf ASP.NET-Konfiguration.
Wählen Sie die Registerkarte Sicherheit aus, klicken Sie auf den Link Verwenden Sie den Setup-Assistenten für die Sicherheit, um die Sicherheit Schritt für Schritt zu konfigurieren, und klicken Sie danach auf Weiter.
Fahren Sie mit Schritt 2 des Assistenten fort, und wählen Sie die Option Aus dem Internet aus.
Der Assistent zeigt eine Seite an, auf der Sie die von Ihrer Website zu verwendende Authentifizierungsmethode auswählen können. Diese Option gibt an, dass die Anwendung Formularauthentifizierung verwendet, bei der sich Benutzer bei der Anwendung über eine Anmeldeseite anmelden, die Sie später in dieser exemplarischen Vorgehensweise erstellen.
Klicken Sie auf Weiter.
Der Assistent zeigt eine Meldung an, dass Benutzerinformationen über Erweiterte Anbietereinstellungen gespeichert werden. Standardmäßig werden Mitgliedsinformationen in einer Microsoft SQL Server Express-Datenbankdatei gespeichert, die sich im Ordner App_Data der Website befindet.
Klicken Sie auf Weiter.
Der Assistent zeigt eine Option zum Erstellen von Rollen an. In der exemplarischen Vorgehensweise führen diesen Schritt später getrennt aus. Aktivieren Sie deshalb das Kontrollkästchen Rollen für diese Website aktivieren nicht.
Klicken Sie auf Weiter.
Der Assistent zeigt eine Seite an, auf der Sie neue Benutzer erstellen können.
Geben Sie Informationen ein, mit denen ein Benutzer der Anwendung definiert wird. Verwenden Sie dabei die folgenden Werte als Richtwerte (Sie können beliebige Werte verwenden; notieren Sie aber Ihre Eingaben, um sie später in dieser exemplarischen Vorgehensweise verwenden zu können):
Benutzername Ihr Name (ohne Leerzeichen) oder ein Beispielname.
Kennwort Ein Kennwort. Ein sicheres Kennwort ist erforderlich (eines, das Groß- und Kleinbuchstaben und Satzzeichen enthält und mindestens acht Zeichen lang ist).
E-Mail Ihre persönliche E-Mail-Adresse. Später in der exemplarischen Vorgehensweise senden Sie sich selbst eine E-Mail. Sie müssen also eine tatsächlich gültige E-Mail-Adresse angeben.
Sicherheitsfrage und Sicherheitsantwort Geben Sie eine Frage und eine Antwort ein, die Sie später verwenden können, wenn Sie das Kennwort wiederherstellen müssen.
Klicken Sie auf Benutzer erstellen.
Der Assistent zeigt eine Bestätigungsseite an.
Hinweis: Lassen Sie das Websiteverwaltungs-Tool geöffnet.
Weiter oben in der exemplarischen Vorgehensweise haben Sie einen Ordner mit dem Namen MemberPages erstellt. In diesem Teil der exemplarischen Vorgehensweise erstellen Sie eine Regel, mit der gewährleistet wird, dass nur angemeldete Benutzer auf die Seiten in diesem Ordner zugreifen können.
So richten Sie Zugriffsregeln für das MemberPages-Unterverzeichnis ein
Klicken Sie im Assistenten auf Weiter.
Der Assistent zeigt eine Seite an, auf der Sie Zugriffsregeln erstellen können.
Erweitern Sie im Feld Neue Zugriffsregel hinzufügen den Knoten für die Website.
Wählen Sie MemberPages aus, den zuvor von Ihnen erstellten Ordner.
Wählen Sie unter Regel bezieht sich auf die Option Anonyme Benutzer aus.
Wählen Sie unter Berechtigung die Option Verweigern aus.
Mit der gerade erstellten Regel verweigern Sie anonymen Benutzern (also Benutzern, die sich nicht angemeldet haben) den Zugriff.
Klicken Sie auf Regel hinzufügen.
Die neue Regel wird im Raster unten angezeigt. Wenn ein Benutzer eine Seite aus dem MemberPages-Unterverzeichnis anfordert, werden die Regeln überprüft und festgestellt, ob dem Benutzer der Zugriff auf die Seite gestattet ist.
Klicken Sie auf Fertig stellen.
Der Assistent hat alle Aufgaben abgeschlossen. Der Assistent wird geschlossen, und es wird wieder die Registerkarte Sicherheit des Websiteverwaltungs-Tools angezeigt.
Konfigurieren der E-Mail-Anwendung
Für diesen Teil der exemplarischen Vorgehensweise muss die Anwendung E-Mail-Nachrichten senden können. Hierfür benötigt die Anwendung Zugriff auf einen SMTP-Server (Simple Mail Transport Protocol), der E-Mail-Nachrichten aus der Anwendung an einen E-Mail-Empfänger weiterleitet.
IIS enthält den virtuellen SMTP-Standardserver als optionale Komponente, die für diese exemplarische Vorgehensweise geeignet ist. Weitere Informationen zum Konfigurieren dieses Servers finden Sie unter Gewusst wie: Installieren und Konfigurieren von virtuellen SMTP-Servern in IIS 6.0. Wenn Sie in einem LAN arbeiten, erhalten Sie die Informationen für den Zugriff auf einen E-Mail-Server bei Ihrem Netzwerkadministrator.
Nachdem Sie einen SMTP-Server eingerichtet haben oder festgestellt haben, wie Sie auf diesen zugreifen können, müssen Sie die Anwendung so konfigurieren, dass diese E-Mail-Nachrichten an diesen Server weiterleitet. Dazu können Sie einen Eintrag in der Datei Web.config der Website vornehmen. Diese enthält eine Reihe von Einstellungen, anhand derer bestimmt wird, wie die Anwendung ausgeführt wird.
So konfigurieren Sie die Anwendung für einen bestimmten SMTP-Server
Klicken Sie im Websiteverwaltungs-Tool auf die Registerkarte Anwendung.
Klicken Sie unter SMTP-Einstellungen auf SMTP-E-Mail-Einstellungen konfigurieren.
Es wird eine Seite angezeigt, auf der Sie E-Mail konfigurieren können.
Wenn Sie den virtuellen SMTP-Server auf Ihrem Computer verwenden, geben Sie localhost als Servername ein. Geben Sie andernfalls den entsprechenden Servernamen ein.
Stellen Sie Informationen für die Anschlussnummer und für die Authentifizierung gemäß den Anforderungen des SMTP-Servers bereit. Weitere Informationen zum Konfigurieren dieser Einstellungen erhalten Sie beim Administrator.
Geben Sie im Feld Von eine gültige E-Mail-Adresse ein.
Klicken Sie auf Speichern, und klicken Sie auf der Bestätigungsseite auf OK.
Das Websiteverwaltungs-Tool erstellt ggf. eine Datei Web.config mit den von Ihnen festgelegten Einstellungen.
Hinweis: Die Datei Web.config wird im Projektmappen-Explorer erst angezeigt, nachdem Sie die Ansicht aktualisiert haben.
Schließen Sie das Websiteverwaltungs-Tool.
Anmelden des Benutzers
Im Rahmen der Anwendung müssen Sie die Identität des Benutzers einrichten, damit die Anwendung basierend auf den Angaben zum Benutzer Aktionen ausführen kann, beispielsweise das Anzeigen oder Verbergen von Informationen. Zum Abrufen der Identität des Benutzers muss sich der Benutzer anmelden.
In dieser exemplarischen Vorgehensweise fügen Sie auf der Homepage einen Link hinzu, der die Benutzer zur Anmeldeseite führt. Danach erstellen Sie die Anmeldeseite.
So erstellen Sie eine Homepage mit einer Anmeldeschaltfläche
Öffnen Sie die Seite Default.aspx der Website, oder wechseln Sie zu dieser Seite. (Wenn keine Seite Default.aspx vorhanden ist, können Sie eine hinzufügen oder eine andere Seite verwenden.)
Wechseln Sie zur Entwurfsansicht.
Geben Sie statischen Text ein, z. B. Welcome to our site, und verwenden Sie in der Symbolleiste Formatierung die Dropdown-Liste Blockformat, um den Text als Überschrift 1 zu formatieren.
Ziehen Sie aus der Gruppe Anmeldender Toolbox ein LoginStatus-Steuerelement auf die Seite.
Standardmäßig wird das LoginStatus-Steuerelement als Link dargestellt. Nach dem Klicken darauf wird eine Anmeldeseite für die Anwendung angezeigt. Sie können jetzt die Anmeldeseite erstellen.
So erstellen Sie eine Anmeldeseite
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Webanwendung, und wählen Sie anschließend Neues Element hinzufügen aus. Fügen Sie der Website ein Web Form mit dem Namen Login.aspx hinzu.
Hinweis: Für diese exemplarische Vorgehensweise muss die Seite den Namen Login.aspx tragen. Standardmäßig ist die Formularauthentifizierung so konfiguriert, dass eine Seite dieses Namens verwendet wird. Auch wenn dies in dieser exemplarischen Vorgehensweise nicht vorgesehen ist, können Sie die Standardanmeldeseite – also die Seite, auf die Benutzer umgeleitet werden – in der Datei Web.config ändern.
Wechseln Sie auf der Seite Login.aspx zur Entwurfsansicht.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein Login-Steuerelement auf die Seite.
Das Login-Steuerelement ist ein einzelnes Steuerelement, in dem der Benutzer zur Eingabe von Anmeldeinformationen aufgefordert wird, die anschließend validiert werden.
Anzeigen von Anmeldefehlern
Das Login-Steuerelement enthält Validierungsfunktionen, um Benutzern bei der Eingabe der richtigen Informationen zu helfen. Wenn ein Benutzer beispielsweise das Kennwort überspringt, wird vom Validierungssteuerelement neben dem Kennwort-Feld ein Sternchen (*) angezeigt. Sie können weitere Informationen zu Anmeldefehlern bereitstellen, indem Sie der Seite ein ValidationSummary-Steuerelement hinzufügen.
So zeigen Sie Details zu Anmeldefehlern an
Ziehen Sie aus der Gruppe Validierung der Toolbox ein ValidationSummary-Steuerelement auf die Seite.
Legen Sie im Eigenschaftenfenster für das ValidationSummary-Steuerelement die ValidationGroup-Eigenschaft auf Login1 fest. Dies ist die Standard-ID des vorher von Ihnen hinzugefügten Login-Steuerelements.
Anzeigen von Informationen für angemeldete Benutzer
Sie ändern nun die Homepage, um die Anzeige abhängig davon anzupassen, ob der Benutzer angemeldet ist. Für anonyme Benutzer wird eine allgemeine Meldung angezeigt, in der sie zur Anmeldung aufgefordert werden. Angemeldeten Benutzern wird eine Meldung angezeigt, in der sie mit ihrem Anmeldenamen begrüßt werden.
So passen Sie die Anzeige für angemeldete Benutzer an
Wechseln Sie zur Seite Default.aspx, oder öffnen Sie sie.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein LoginView-Steuerelement auf die Seite.
Das LoginView-Steuerelement wird angezeigt, in dem die AnonymousTemplate-Vorlage geöffnet ist. Mit dieser Vorlage können Sie den Inhalt definieren, der Benutzern vor der Anmeldung angezeigt wird.
Klicken Sie in den Bearbeitungsbereich des LoginView-Steuerelements, um die Bearbeitung zu aktivieren.
Geben Sie im Bearbeitungsbereich der AnonymousTemplate-Vorlage des LoginView-Steuerelements You are not logged in. Click the Login link to sign in. ein.
Klicken Sie im Bereich LoginView-Aufgaben in der Liste Ansichten auf LoggedIn-Vorlage. Wenn der Bereich LoginView-Aufgaben nicht angezeigt wird, klicken Sie mit der rechten Maustaste auf die Überschrift des LoginView-Steuerelements, und wählen Sie Smarttag anzeigen aus.
Sie definieren jetzt den Inhalt, der bereits angemeldeten Benutzern angezeigt wird.
Klicken Sie in den Bearbeitungsbereich des LoginView-Steuerelements, um die Bearbeitung zu aktivieren, und geben Sie dann You are logged in. Welcome, ein.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein LoginName-Steuerelement hinter den Text in die Vorlage.
Testen der Anmeldung
Sie können jetzt die Anmeldefunktionen der Anwendung testen.
So testen Sie die Anmeldung
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Default.aspx, und klicken Sie auf Als Startseite festlegen.
Dadurch wird die Website so konfiguriert, dass beim Ausführen der Website zuerst die Seite Default.aspx angezeigt wird.
Drücken Sie STRG+F5, um die Website auszuführen.
Die Homepage (Default.aspx) wird im Browser angezeigt. Sie enthält den Link Anmelden, und die generische Meldung wird angezeigt.
Klicken Sie auf den Link Anmelden.
Die von Ihnen erstellte Anmeldeseite wird angezeigt.
Geben Sie den Anmeldenamen des Benutzers ein, den Sie weiter oben in der exemplarischen Vorgehensweise erstellt haben, und klicken Sie dann auf Anmelden. (Geben Sie noch kein Kennwort ein.)
Neben dem Kennwort-Feld wird ein Sternchen (*) angezeigt, und im ValidationSummary-Steuerelement wird eine Fehlermeldung angezeigt.
Geben Sie einen Benutzernamen und ein Kennwort ein, und klicken Sie dann auf Anmelden.
Wenn Sie die richtigen Anmeldeinformationen eingegeben haben, gelangen Sie zurück zur Homepage. Auf der Seite werden jetzt ein Link Abmelden, Ihr Benutzername sowie die Begrüßungsnachricht angezeigt, die Sie für angemeldete Benutzer definiert haben.
Schließen Sie den Browser.
Beschränken des Zugriffs auf Mitgliederseiten
Eine typische Aufgabe auf vielen Websites besteht darin, bestimmte Seiten so zu konfigurieren, dass diese nur angemeldeten Benutzern angezeigt werden. Weiter oben in der exemplarischen Vorgehensweise haben Sie das MemberPages-Unterverzeichnis sowie eine Regel erstellt, mit der der Zugriff auf die Seiten in diesem Unterverzeichnis entsprechend beschränkt wird. In diesem Abschnitt der exemplarischen Vorgehensweise fügen Sie dem geschützten Unterverzeichnis eine Seite hinzu und testen die Zugriffsregel.
So erstellen Sie die auf Mitglieder beschränkte Seite
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner MemberPages, klicken Sie auf Neues Element hinzufügen, und fügen Sie ein neues Web Form mit dem Namen Members.aspx hinzu.
Hinweis: Vergewissern Sie sich, dass Sie die Seite im Ordner MemberPages erstellen.
Fügen Sie in der Entwurfsansicht der Seite Text hinzu, z. B. Welcome, members! Dabei spielt der genaue Wortlaut keine Rolle, solange Sie diese Seite im Browser wiedererkennen.
Sie können jetzt auf der Homepage ein Link zu der auf Mitglieder beschränkten Seite hinzufügen. In einer realen Anwendung legen Sie wahrscheinlich die auf Mitglieder beschränkte Seite in der Vorlage des LoginView-Steuerelements für angemeldete Benutzer ab. Auf diese Weise wird Besuchern der Website der Link erst nach dem Anmelden angezeigt. In dieser exemplarischen Vorgehensweise machen Sie jedoch den Link für alle Benutzer verfügbar, damit Sie nachvollziehen können, was bei dem Versuch angezeigt wird, ohne Anmeldung eine auf Mitglieder beschränkte Seite aufzurufen.
So fügen Sie einen Link mit einer auf Mitglieder beschränkten Seite hinzu
Wechseln Sie zur Seite Default.aspx, oder öffnen Sie sie.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement auf die Seite.
Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Members page und die href-Eigenschaft auf ~/MembersPage/Members.aspx fest, um auf die vorher von Ihnen erstellte Seite zu zeigen.
Testen der auf Mitglieder beschränkten Seite
Sie können die auf Mitglieder beschränkte Seite testen, indem Sie sowohl als anonymer Benutzer als auch als angemeldeter Benutzer auf die Seite zugreifen.
So testen Sie die auf Mitglieder beschränkte Seite
Drücken Sie STRG+F5, um die Website auszuführen.
Wenn im Browser die Seite Default.aspx angezeigt wird, melden Sie sich nicht an. Klicken Sie stattdessen auf den Link Members page.
Sie werden auf die Seite Login.aspx umgeleitet, da anonymen Benutzern der Zugriff auf die Mitgliederseite verweigert wird.
Geben Sie auf der Anmeldeseite den Benutzernamen und das Kennwort ein, die Sie weiter oben in der exemplarischen Vorgehensweise verwendet haben.
Sie werden auf die Seite Members.aspx umgeleitet, da Sie mit dem Benutzernamen, mit dem Sie sich angemeldet haben, auf die Seite zugreifen dürfen.
Schließen Sie das Browserfenster.
Erstellen von neuen Benutzern
Im ersten Teil der exemplarischen Vorgehensweise haben Sie einen Benutzer mit dem Websiteverwaltungs-Tool erstellt. Diese Strategie ist sinnvoll, wenn Sie mit einer kleinen, wohldefinierten Liste von Benutzern arbeiten, also beispielsweise Benutzer für ein kleines Team erstellen. Auf vielen Websites können sich Benutzer jedoch auch selbst registrieren. ASP.NET enthält das CreateUserWizard-Steuerelement, mit dem die gleiche Aufgabe ausgeführt werden kann, die Sie vorher mit dem Websiteverwaltungs-Tool ausgeführt haben.
In diesem Teil der exemplarischen Vorgehensweise fügen Sie für Benutzer eine Möglichkeit hinzu, sich bei Ihrer Website zu registrieren. Hierzu erstellen Sie zunächst eine Registrierungsseite.
So erstellen Sie eine Registrierungsseite
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen Ihrer Website, klicken Sie auf Neues Element hinzufügen, und fügen Sie ein neues Web Form mit dem Namen Register.aspx hinzu.
Hinweis: Vergewissern Sie sich, dass Sie die Seite im Stammverzeichnis der Website und nicht im Ordner MemberPages erstellen.
Wechseln Sie auf der Seite Register.aspx in die Entwurfsansicht, und geben Sie statischen Text auf der Seite ein, z. B. Register. Verwenden Sie auf der Symbolleiste Formatierung die Dropdown-Liste Blockformat, um den Text als Überschrift 1 zu formatieren.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein CreateUserWizard-Steuerelement auf die Seite.
Legen Sie im Eigenschaftenfenster des CreateUserWizard-Steuerelements die ContinueDestinationPageUrl-Eigenschaft auf ~/Default.aspx fest.
Dadurch wird das Steuerelement so konfiguriert, dass nach dem Erstellen eines Benutzers und dem Klicken auf Weiter wieder die Homepage angezeigt wird.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement auf die Seite. Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Home und die href-Eigenschaft auf ~/Default.aspx fest.
Sie können der Homepage jetzt einen Link zur Registrierungsseite hinzufügen. Nehmen Sie bei dieser exemplarischen Vorgehensweise an, dass die Registrierungsverknüpfung nur Benutzern angezeigt wird, die noch nicht angemeldet sind.
So erstellen Sie einen Registrierungslink auf der Homepage
Wechseln Sie zur Seite Default.aspx, oder öffnen Sie sie.
Klicken Sie mit der rechten Maustaste auf das zuvor hinzugefügte LoginView-Steuerelement, und wählen Sie dann Smarttag anzeigen aus. Wählen Sie im Bereich LoginView-Aufgaben aus dem Listenfeld Ansichten die Option Anonymous-Vorlage aus, um die Bearbeitung in der Anonymous-Vorlage zu aktivieren.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement in die Anonymous-Vorlage. Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Register und die href-Eigenschaft auf Register.aspx fest. Der Link Register wird nur nicht angemeldeten Benutzern angezeigt.
Sie können den Registrierungsvorgang jetzt testen.
So testen Sie den Registrierungsvorgang
Drücken Sie STRG+F5, um die Website auszuführen und die Seite Default.aspx anzuzeigen.
Da Sie sich nicht angemeldet haben, wird die Seite mit dem Link Register angezeigt.
Klicken Sie auf den Link Register.
Die Registrierungsseite wird angezeigt.
Geben Sie in den Textfeldern einen neuen Benutzernamen, ein sicheres Kennwort, eine E-Mail-Adresse sowie eine Sicherheitsfrage und eine Sicherheitsantwort ein. (Alle fünf Angaben sind erforderlich.)
Klicken Sie auf Benutzer erstellen.
Eine Bestätigungsmeldung wird angezeigt.
Klicken Sie auf die Schaltfläche Weiter.
Als angemeldeter Benutzer wird Ihnen wieder die Homepage angezeigt. Beachten Sie, dass aus dem Link Anmelden der Link Abmelden geworden ist und dass die im Login-Steuerelement angezeigten Informationen aus der LoggedInTemplate-Eigenschaft und nicht aus der AnonymousTemplate-Eigenschaft stammen.
Klicken Sie auf den Link Abmelden.
Auf der Seite werden nunmehr die Informationen für anonyme Benutzer angezeigt.
Klicken Sie auf den Link Anmelden.
Geben Sie die Anmeldeinformationen für den gerade von Ihnen erstellten Benutzer ein.
Sie werden als neuer Benutzer angemeldet.
Schließen Sie das Browserfenster.
Ändern von Kennwörtern
Benutzer müssen ggf. von Zeit zu Zeit ihr Kennwort ändern. Das manuelle Ausführen dieser Aufgabe erweist sich oft als unpraktisch. Sie können deshalb ein weiteres ASP.NET-Steuerelement verwenden, mit dem Benutzer ihre Kennwörter selbst ändern können. Zum Ändern eines bestehenden Kennworts muss dieses dem Benutzer bekannt sein.
In dieser exemplarischen Vorgehensweise fügen Sie eine Seite hinzu, auf der angemeldete Benutzer ihr Kennwort ändern können.
So erstellen Sie eine Seite für das Ändern von Kennwörtern
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner MemberPages, klicken Sie auf Neues Element hinzufügen, und fügen Sie ein neues Web Form mit dem Namen ChangePassword.aspx hinzu.
Hinweis: Vergewissern Sie sich, dass Sie die Seite im Ordner MemberPages erstellen.
Sie legen die Seite in dem auf Mitglieder beschränkten Ordner ab, da nur angemeldete Benutzer ihre Kennwörter ändern können.
Wechseln Sie von der Seite ChangePassword.aspx in die Entwurfsansicht, und geben Sie statischen Text ein, z. B. Change Password. Verwenden Sie auf der Symbolleiste Formatierung die Dropdown-Liste Blockformat, um den Text als Überschrift 1 zu formatieren.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein ChangePassword-Steuerelement auf die Seite.
Legen Sie im Eigenschaftenfenster des ChangePassword-Steuerelements die ContinueDestinationPageUrl-Eigenschaft auf ~/Default.aspx fest.
Dadurch wird das Steuerelement so konfiguriert, dass nach dem Ändern eines Kennworts und dem Klicken auf Weiter wieder die Homepage angezeigt wird.
Sie können der Homepage jetzt einen Link mit der Seite für die Kennwortänderung hinzufügen. Sie machen den Link nur für angemeldete Benutzer verfügbar.
So erstellen Sie auf der Homepage einen Link zum Ändern des Kennworts
Wechseln Sie zur Seite Default.aspx, oder öffnen Sie sie.
Klicken Sie mit der rechten Maustaste auf das LoginView-Steuerelement, und klicken Sie dann auf Smarttag anzeigen. Klicken Sie im Menü LoginView-Aufgaben in der Liste Ansichten auf LoggedIn-Vorlage.
Dadurch wechselt das LoginView-Steuerelement für den Inhalt, der angemeldeten Benutzern angezeigt wird, in den Bearbeitungsmodus.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement in den Bearbeitungsbereich. Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Change Password und die href-Eigenschaft auf ~/MemberPages/ChangePassword.aspx fest.
Der Link Change password wird nur angemeldeten Benutzern angezeigt. Sie verhält sich also entgegengesetzt zum zuvor erstellen Link Register.
Sie können den Kennwortänderungsvorgang jetzt testen.
So testen Sie den Kennwortänderungsvorgang
Drücken Sie STRG+F5, um die Website auszuführen.
Klicken Sie auf der Seite Default.aspx auf den Link Anmelden, und melden Sie sich als einer der Benutzer an, die Sie erstellt haben.
Anschließend wird Ihnen als angemeldeter Benutzer wieder die Homepage angezeigt.
Klicken Sie auf den Link Change password.
Geben Sie auf der Seite zum Ändern des Kennworts das alte Kennwort und ein neues Kennwort ein, und klicken Sie dann auf Change Password.
Klicken Sie auf Weiter.
Klicken Sie auf der Homepage auf Abmelden.
Klicken Sie auf den Link Anmelden.
Geben Sie das neue Kennwort ein.
Sie werden mit dem neuen Kennwort angemeldet.
Schließen Sie das Browserfenster.
Wiederherstellen eines Kennworts
Benutzer vergessen gelegentlich ihre Kennwörter. Sie können einer Website eine Seite zum Wiederherstellen von Kennwörtern hinzufügen, damit diese Benutzer sich erneut bei der Website anmelden können. Das Kennwort kann auf zwei Arten wiederhergestellt werden:
Sie können Benutzern die von ihnen ausgewählten Kennwörter (oder die Kennwörter, die Sie beim Einrichten der Website für sie erstellt haben) schicken. Bei dieser Option muss das Kennwort auf der Website mit umkehrbarer Verschlüsselung gespeichert werden.
Sie können Benutzern ein neues Kennwort schicken, das diese auf der von Ihnen zuvor erstellten Seite zum Ändern des Kennworts ändern können. Diese Option ist sinnvoll, wenn Kennwörter auf der Website mit einem nicht umkehrbaren Verschlüsselungsverfahren, beispielsweise Hashing, gespeichert werden.
Hinweis: |
---|
Die Rückgabe des Kennworts in Klartext wird für Websites, die eine hohe Sicherheitsebene erfordern, nicht empfohlen. Für Websites mit hoher Sicherheit wird empfohlen, dass Sie die Kennwörter verschlüsselt senden, z. B. mit SSL (Secure Sockets Layer). |
ASP.NET-Mitgliedschaftssysteme sichern Kennwörter durch Hashing. Das bedeutet, dass die Kennwörter nicht wiederhergestellt werden können. Daher sendet die Website in diesem Teil der exemplarischen Vorgehensweise Benutzern ein neues Kennwort.
Hinweis: |
---|
Bei der Kennwortwiederherstellung muss die Website E-Mail-Nachrichten senden können. Wenn Sie die Website nicht so konfigurieren können, dass sie E-Mail-Nachrichten senden kann (wie unter "Konfigurieren der Anwendung für E-Mail" weiter oben in dieser exemplarischen Vorgehensweise erklärt), können Sie der Website die Funktion zum Wiederherstellen von Kennwörtern nicht hinzufügen. |
So fügen Sie die Kennwortwiederherstellung hinzu
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen der Website, klicken Sie auf Neues Element hinzufügen, und fügen Sie ein neues Web Form mit dem Namen RecoverPassword.aspx hinzu.
Hinweis: Vergewissern Sie sich, dass Sie die Seite im Stammverzeichnis der Website und nicht im Ordner MemberPages erstellen.
Wechseln Sie von der Seite RecoverPassword.aspx zur Entwurfsansicht, und geben Sie statischen Text ein, z. B. Reset my password to a new value. Verwenden Sie auf der Symbolleiste Formatierung die Dropdown-Liste Blockformat, um den Text als Überschrift 1 zu formatieren.
Ziehen Sie aus der Gruppe Anmelden der Toolbox ein PasswordRecovery-Steuerelement auf die Seite.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement auf die Seite. Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Home und die href-Eigenschaft auf ~/Default.aspx fest.
Wechseln Sie zur Seite Default.aspx.
Klicken Sie mit der rechten Maustaste auf das LoginView-Steuerelement, und klicken Sie dann auf Smarttag anzeigen. Klicken Sie im Menü LoginView-Aufgaben in der Liste Ansichten auf AnonymousTemplate.
Dadurch wechselt das LoginView-Steuerelement für den Inhalt, der nicht angemeldeten Benutzern angezeigt wird, in den Bearbeitungsmodus.
Ziehen Sie aus der Gruppe Standard der Toolbox ein HyperLink-Steuerelement in die Vorlage. Legen Sie im Eigenschaftenfenster des HyperLink-Steuerelements die Text-Eigenschaft auf Forgot your password? und die href-Eigenschaft auf ~/RecoverPassword.aspx fest.
Jetzt können Sie die Kennwortwiederherstellung testen.
So testen Sie die Kennwortwiederherstellung
Drücken Sie STRG+F5, um die Website auszuführen.
Standardmäßig sind Sie nicht angemeldet, also wird die Anonymous-Vorlage des LoginView-Steuerelements angezeigt.
Klicken Sie auf den Link Forgot your password?.
Die Seite RecoverPassword.aspx wird angezeigt.
Geben Sie Ihren Benutzernamen ein, und klicken Sie auf Senden.
Die Sicherheitsfrage wird angezeigt, und Sie werden aufgefordert, die Sicherheitsantwort einzugeben.
Geben Sie die Antwort ein, und klicken Sie auf Senden.
Wenn Sie die richtige Antwort eingegeben haben, wird Ihr Kennwort für die Website zurückgesetzt, und Sie erhalten eine E-Mail-Nachricht mit dem neuen Kennwort.
Nächste Schritte
In dieser exemplarischen Vorgehensweise wurde ein einfaches, aber vollständiges Szenario zum Erstellen einer Anwendung veranschaulicht. In dieser Anwendung werden die Benutzer zum Eingeben von Anmeldeinformationen aufgefordert und Informationen für angemeldete Benutzer angezeigt. Benutzern wird die Möglichkeit gegeben, vergessene Kennwörter wiederherzustellen, und der Zugriff auf Seiten wird beschränkt. Sie können mit den Techniken und Steuerelementen, die in der exemplarischen Vorgehensweise illustriert wurden, anspruchsvollere Seiten und Anwendungen erstellen. Auf diese Weise können Sie beispielsweise folgende Vorgänge durchführen:
Erstellen zusätzlicher Benutzer und Definieren von Rollen (Gruppen), z. B. für Manager, Vertriebsmitarbeiter oder Mitglieder, sowie Zuweisen von Benutzern zu verschiedenen Rollen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Verwalten von Websitebenutzern mit Rollen.
Ändern des Mitgliedschaftsanbieters vom Access-Standardanbieter in einen SQL-Anbieter. Das Speichern von Mitgliedschaftsinformationen in einer Access-Datenbank ist für kleine bis mittelgroße Websites geeignet. Wenn für eine Website jedoch starker Datenverkehr wahrscheinlich ist, sollten Sie Microsoft SQL Server als Mitgliedschaftsspeicher verwenden. Weitere Informationen finden Sie unter Registerkarte "Anbieter" des Websiteverwaltungs-Tools und unter Erstellen der Datenbank für die Anwendungsdienste für SQL Server.
Ändern der Darstellung von Anmeldesteuerelementen. Die Steuerelemente Login, PasswordRecovery und CreateUserWizard unterstützen Vorlagen, mit denen Sie den darin enthaltenen Text und die darin enthaltenen Schaltflächen konfigurieren können. Mit diesen Vorlagen können Sie auch die Farbe, die Schriftart und andere Darstellungseigenschaften der Steuerelemente ändern.
Erstellen von Regeln, mit denen der Zugriff auf Seiten oder Ordner nicht nur für anonyme Benutzer, sondern auch für bestimmte Benutzer oder Rollen beschränkt wird.
Kombinieren der Mitgliedschaft mit Profileigenschaften, sodass für jeden Benutzer spezifische Einstellungen gespeichert werden können. Ausführliche Informationen finden Sie unter Exemplarische Vorgehensweise: Verwalten von Websitebenutzerinformationen mit Profileigenschaften.
Kombinieren von Anmeldesteuerelementen mit Masterseiten. Auf Masterseiten können Sie ein Seitenlayout definieren, das Sie für alle Seiten in der Anwendung verwenden können. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen und Verwenden von ASP.NET-Masterseiten in Visual Web Developer.
Hinzufügen der Möglichkeit zum Wiederherstellen eines vergessenen Kennworts. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren der Benutzerkennwort-Wiederherstellung in ASP.NET mit dem PasswordRecovery-Steuerelement.