asp.net-mvc-4 - framework - login mvc c# sql server
¿Cómo puedo restablecer o cambiar las contraseñas usando SimpleMembership en MVC4? (1)
Para hacerlo correctamente, deberá configurar un enlace de recuperación de correo electrónico. Pero aquí están las llamadas a la API que harías:
var token = WebSecurity.GeneratePasswordResetToken(username);
// create a link with this token and send email
// link directed to an action with form to capture password
WebSecurity.ResetPassword(token, password);
http://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.resetpassword(v=vs.111).aspx
He estado escribiendo una aplicación web utilizando la plantilla de Internet MVC4. Realmente no necesitaba nada complicado para la administración de usuarios, por lo que opté por el proveedor SimpleMembershipProvider predeterminado. Estoy inicializando la membresía en App_Start, y tengo roles y usuarios configurados y funcionando. No estoy usando SSO ni ninguna de las otras funciones de OAuth. Ahora tengo un probador que ha olvidado su contraseña y, después de buscar en Google todo el día, me doy cuenta de que no tengo idea de cómo simplemente restablecer su contraseña o cambiarla.
He leído la documentación y descubrí que la función ResetPassword no es compatible si utilizo SimpleMembership . Mi pregunta es, ¿cómo puedo:
- cambie de SimpleMembership a la membresía estándar que usa las tablas y el formato de SimpleMembership
- restablecer la contraseña del usuario a algo que yo especifique?
He encontrado la configuración de web.config para (teóricamente) configurar el proveedor de membresía para que use SimpleMembership, pero no estoy seguro de cómo especificar la tabla a usar (suponiendo que esa es la forma correcta de hacerlo).
sección web.config:
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
y la InitializeDatabaseConnection actual que yo (creo) que necesito tener en el web.config:
WebSecurity.InitializeDatabaseConnection("UPEFSSecurity", "Datamart_User", "UserId", "UserName", autoCreateTables: true);