Azioni temporizzate

Stato
Chiusa ad ulteriori risposte.

aras

Nuovo Utente
22 Set 2011
3
0
0
Salve,

sono un nuovo utente, buongiorno a tutti.

Sto progettando un sistema di login per un sito che ho in mente di fare e mi trovo davanti al seguente dilemma:

La parte riguardante il recupero della password funzione seguendo 5 azioni.

1) L'utente immette o la mail o lo username
2) Viene generato un hash che poi viene inviato in posta al utente (contemporaneamente un campo del database viene settato a false per bloccare l'account)
3) L'utente clicca sul collegamento che gli arriva in posta
4) Verifico che i due hash corrispondano (quello del db e quello inviato dal utente) e se si gli presento una form per l'inerimento di una password temporanea
5) Quando l'utente si collega verifico per prima cosa che il campo della password temporanea non sia vuoto e se non lo è lo dirigo ad una form, senza neanche farlo passare per il pannello di controllo, dove deve inserire la password temporanea per conferma ed una nuova password confermandola. A questo punto la password temporanea viene cancellata dal database, il campo setto a false nel database viene risettato a true ... non è il campo che controlla se l'account è attivo o no ... e siamo tutti felici.

Domanda.

Ma non c'è un modo per fare una cosa del genere ?

1) L'utente immette username o mail
2) Gli genero e mando un hash per la conferma
3) Quando l'utente risponde gli assegno una password casuale registrandola nel campo password del database
4) Lo avviso che dovrà provvedere a cambiare la password casuale entro tot secondi altrimenti la password viene cancellata e deve rifare tutta la procedura.

In pratica il punto 4. E' possibile generare una password, immetterla nel database automaticamente (ovviamente si) e predisporre un sistema che se non rileva un login del utente, a mezzo del campo LastVisit, entro tot tempo cancella da solo quella password ?

Grazie per le risposte

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
edit: Mi rispondo da solo: Quando l'utente logga con la password temporanea basta verificare ovviamente se coincide con quella assegnatagli e dopo verificare che dal momento della creazione di tale password (mediante il campo CreationTempPassword) al momento del inserimento sono passati più di tot secondi e se si cancellarla dal database invitando l'utente ad una nuova procedura.
 
Ultima modifica:
Stato
Chiusa ad ulteriori risposte.

Discussioni simili