Gewusst wie: Aktivieren der Benutzerkennwort-Wiederherstellung in ASP.NET mit dem PasswordRecovery-Steuerelement
Aktualisiert: November 2007
Wenn die Anwendung für die Authentifizierung ASP.NET-Mitgliedschaft verwendet, können Sie in der Anwendung mit dem PasswordRecovery-Steuerelement die Kennwortwiederherstellung aktivieren. Dabei wird den Benutzern von der Anwendung je nach Konfiguration des Mitgliedschaftsanbieters ihr aktuelles oder ein neues Kennwort übermittelt. Standardmäßig hasht ASP.NET Kennwörter mit einem nicht umkehrbaren Verschlüsselungsschema, sodass dem Benutzer ein neues Kennwort übermittelt wird. Wenn der Mitgliedschaftsanbieter konfiguriert ist, Kennwörter zu verschlüsseln oder als Klartext zu speichern (was nicht zu empfehlen ist), wird dem Benutzer sein aktuelles Kennwort übermittelt.
Um ein Kennwort wiederherzustellen, muss die Anwendung in der Lage sein, dem Benutzer eine E-Mail-Nachricht zu schicken. Die Anwendung muss deshalb mit dem Namen eines SMTP-Servers konfiguriert sein, an den sie E-Mail-Nachrichten weiterleiten kann. Weitere Informationen finden Sie in den Ausführungen zur SmtpClient-Klasse und unter Gewusst wie: Installieren und Konfigurieren von virtuellen SMTP-Servern in IIS 6.0.
So aktivieren Sie die Kennwortwiederherstellung
Erstellen oder bearbeiten Sie eine ASP.NET-Webseite, die zu Ihrer Site gehört und anonymen Benutzern zugänglich ist (z. B. RecoverPassword.aspx). In einer authentifizierten Website können Sie das location-Konfigurationselement verwenden, um anzugeben, ob auf eine Seite anonym zugegriffen werden darf. Hierzu das folgende Beispiel:
<configuration> <location path="RecoverPassword.aspx"> <system.web> <authorization> <allow users="?" /> </authorization> </system.web> </location> <system.web> <authentication mode="Forms" > <forms loginUrl="UserLogin.aspx" /> </authentication> <authorization> <deny users="?" /> </authorization> </system.web> </configuration>
Platzieren Sie ein PasswordRecovery-Steuerelement auf der Seite, wie im folgenden Beispiel gezeigt:
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server"> </asp:PasswordRecovery>
Konfigurieren Sie bei Bedarf die folgenden Vorlagen, um die Darstellung dieses PasswordRecovery-Steuerelements anzupassen: UserNameTemplate, QuestionTemplate und SuccessTemplate.