Procedura: consentire il recupero della password utente tramite il controllo PasswordRecovery ASP.NET
Aggiornamento: novembre 2007
Se nell'applicazione viene utilizzata l'appartenenza ASP.NET per l'autenticazione, è possibile consentire il recupero della password nell'applicazione mediante il controllo PasswordRecovery. Verrà inviata la password attuale o una nuova password, a seconda della configurazione del provider di appartenenza. Per impostazione predefinita, in ASP.NET viene generato un hash per le password utilizzando uno schema di crittografia non reversibile, pertanto all'utente viene inviata una nuova password. Se il provider di appartenenza è configurato per la crittografia delle password o la memorizzazione delle password come testo non crittografato (opzione non consigliata), verrà inviata la password attuale dell'utente.
Per recuperare una password, è necessario che l'applicazione sia abilitata all'invio di messaggi di posta elettronica all'utente, ovvero deve essere configurata con il nome di un server SMTP al quale può inoltrare i messaggi di posta elettronica. Per ulteriori informazioni, vedere la classe SmtpClient e Procedura: installare e configurare server virtuali SMTP in IIS 6.0.
Per consentire il recupero della password
Creare o modificare una pagina Web ASP.NET nel sito che sia accessibile agli utenti anonimi (ad esempio RecoverPassword.aspx). In un sito Web autenticato è possibile utilizzare l'elemento di configurazione location per specificare che è consentito l'accesso anonimo a una pagina, come illustrato nell'esempio seguente:
<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>
Inserire un controllo PasswordRecovery nella pagina, come illustrato nell'esempio seguente:
<asp:PasswordRecovery ID="PasswordRecovery1" Runat="server"> </asp:PasswordRecovery>
Facoltativamente, configurare i modelli riportati di seguito per personalizzare l'aspetto del controllo PasswordRecovery: UserNameTemplate, QuestionTemplate e SuccessTemplate.