109 messaggi dal 17 dicembre 2007
Salve a tutti,
nella mia web application ho utilizzato il provider personalizzato SQLTableProfileProviderVB per gestire l'autenticazione degli utenti, ruoli etc...

Volevo gestire una pagina per recuperare la password nel caso in cui l'utente l'abbia dimenticata.
Utilizzando il controllo standard di ASP.NET funziona subito, ma la mail che invia con la nuova password è veramente molto scarna.
Così cercando in rete ho trovato che posso intervenire sull eventoo PasswordRecovery1_SendingMail scivendo una cosa del tipo:


Dim pwd As String = Membership.GetUser(PasswordRecovery1.UserName).GetPassword(PasswordRecovery1.Answer)
        Dim UserProfile As ProfileCommon = ProfileCommon.GetUserProfile(PasswordRecovery1.UserName)

        Dim Destinatari As New List(Of String)
        Destinatari.Add(Membership.GetUser(PasswordRecovery1.UserName).Email)

        Dim Testo As String = "testo della mail " 

        InviaEmail("Recupero password", Destinatari, Testo, True)

        e.Cancel = True


In questo modo mi da errore sulla prima riga pwd = ... con la seguente dicitura: Il provider di appartenenze non è stato configurato per supportare il recupero della password.

Pensando fosse un errore nel file di configurazione ho aggiunto nella sezione membership - provider ho aggiunto

<add name="AspNetSqlMembershipProvider" ... enablePasswordRetrieval="true" .../>

ma ora appena cerco di aprire la pagina per il recupero della password, mi compare il seguente messaggio di errore:

Impostazioni configurate non valide: impossibile recuperare le password con hash. Impostare un tipo diverso di formato della password o impostare enablePasswordRetrieval su false.


Consigli?

Grazie
DIEGO
Devi impostare PasswordFormat a Clear o Encrypted

Ciao
m.
109 messaggi dal 17 dicembre 2007
Cradle ha scritto:
Devi impostare PasswordFormat a Clear o Encrypted

Ciao
m.


Grazie per la risposta.
Ho provato con entrambi i valori encrypted e clear, ma da sempre lo stesso errore. La pagina per il recuper password si apre, inserisco il nome utente, clicco su invia e quando dovrebbe chiedere la risposta alla domanda segreta mi compare invece l'errore:


Impostazioni configurate non valide: impossibile recuperare le password con hash. Impostare un tipo diverso di formato della password o impostare enablePasswordRetrieval su false.

nel file di configurazione adesso ho:

<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" connectionStringName="myCnnStr" applicationName="myApp" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" enablePasswordRetrieval="true" PasswordFormat="Clear" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>



Ho provato anche con passwordformat = encrypted ma la situazione non cambia!!
Occhio che ho sbagliato un case... usa passwordFormat non PasswordFormat.

Una considerazione: a livello "filosofico", direi che in ogni caso il recupero password non debba essere consentito, ha molto più senso un reset, visto che è più sicuro memorizzare gli hash invece che le password vere e proprie.
109 messaggi dal 17 dicembre 2007
ok a questo punto ho un po di confusione.
devo gestire sulla mia web application la classica funzionalità "Hai dimenticato la password?"

qual è il modo giusto di gestirla?

Grazie ancora per la pazienza
Diego
2.198 messaggi dal 30 novembre 2001
Puoi gestirla o come ti ha suggerito Cradle, dando la possibilità all'utente di reset della password, oppure la fai recuperare.
Anche io ho un provider custom e prevedo il recupero della password, che è salvata come hash nel db, per cui nel recupero mando una mail con una nuova password complessa autogenerata, e nella stessa il link alla pagina di modifica password.
109 messaggi dal 17 dicembre 2007
chiccosimo ha scritto:
[...]
Anche io ho un provider custom e prevedo il recupero della password, che è salvata come hash nel db, per cui nel recupero mando una mail con una nuova password complessa autogenerata, e nella stessa il link alla pagina di modifica password.


io voglio fare esattamente la stessa cosa, e riportando il file di configurazione alla condizione iniziale e utilizzando la funzioanlità "out of the box" del controllo passwordrecovery di aspnet funziona pure e la mail viene inviata.
Il mio problema che la mail inviata non mi piace! Io devo dargli la mia grafica e impostare un testo della mail un po' più articolato (penso proprio come fai tu inserendo anche il link alla pagina modifica pwd)

La mail che genera lui in automatico è in formato testo (non html) e c'è scritto una cosa del tipo:


Tornare al sito ed effettuare l'accesso con le seguenti informazioni.
Nome utente: diego
Password: h3h+q=[C*5Gepn

a me basterebbe solo intervenire sul contenuto della mail
2.198 messaggi dal 30 novembre 2001
devi gestire l'evento PasswordRecovery_SendingMail, lì puoi impostare il testo della mail che arriva all'utente.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.