Pregunta

¿Es posible controlar el formato de la contraseña que se genera automáticamente mediante una llamada a MembershipUser.ResetPassword ()?

Deseo permitir o no permitir ciertos caracteres especiales en la contraseña generada.

Estoy utilizando SqlMembershipProvider con un formato de contraseña de Hashed.

Gracias.

¿Fue útil?

Solución

Eche un vistazo a este artículo - Cambiar el formato de contraseña generado automáticamente en SqlMembershipProvider .

  

Se me ocurrió una forma rápida de hackear el SqlMembershipProvider para generar contraseñas menos complejas, y fue tan simple como crear una nueva clase de proveedor que hereda de SqlMembershipProvider, y luego anular el método GeneratePassword.

Esta no es una solución completamente resuelta, pero podría ayudar.

Otros consejos

Es posible que desee hacer esto en dos pasos, según lo identificado por Mark Fitzpatrick aquí: http://bytes.com/groups/net-asp/689452-how-reset-users-password-without-having-use-passwordrecovery#post2740740

Primero restablezca la contraseña, luego cámbiela inmediatamente a un formato que le guste. Obviamente, NO se recomendaría usar una cadena fija como en el ejemplo de Mark: querría implementar algún generador de cadenas aleatorio .

user.ChangePassword(user.ResetPassword(), MyMethodToGenerateRandomPassword());

Hoy también puede usar el método Membership.GeneratePassword y pasar un MinRequiredPasswordLength o usar la propiedad ya definida en Web.config de esta manera:

  var newPassword =
                   // 0 = Number of non alphanumeric characters
                  Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0);

  user.ChangePassword(user.ResetPassword(), newPassword);

Esperaba que pudiera haber algún ajuste de configuración, pero anular el método GeneratePassword () funciona para mi situación.

Ya teníamos una clase de utilidad de cifrado que generaría cadenas de contraseña aleatorias, por lo que fue un cambio bastante rápido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top