Ho un'applicazione Web in MVC5 con OWIN Identity e voglio sapere se esiste la possibilità di modificare da codice una password utente senza conoscere la vecchia password. Perché il metodo ChangePassword
richiede userId
, oldPassword
e newPassword
.Modificare la password di identità OWIN con la vecchia password fuori codice?
9
A
risposta
31
In questo caso verrà utilizzato ChangePassword come Reset Password. È possibile ottenere questo risultato utilizzando la password di reimpostazione generando un token e utilizzando tale token immediatamente per convalidarlo con una nuova password.
var userId = User.Identity.GetUserId();
var token = await UserManager.GeneratePasswordResetTokenAsync(userId);
var result = await UserManager.ResetPasswordAsync(userId, token, newPassword);
Verificare this one per ulteriori dettagli.
Spero che questo aiuti.
Ho visto la classe 'UserManager' in ogni esempio, ma come faccio a creare questa classe? –
La classe UserManager si trova nello spazio dei nomi Microsoft.AspNet.Identity. Preferisco creare una classe figlia da questo, ad esempio: public class MyUserManager: UserManager Where User è l'entità che contiene i dati dell'utente –
danpop