Uso la API de membresía de ASP.NET. Quiero forzar al usuario a cambiar su contraseña después de la primera vez que inicia sesión. Sin embargo, no pude encontrar ninguna funcionalidad integrada en la API de Membresía de ASP.NET.
¿Es posible o no? Si es así, ¿cómo se puede hacer fácilmente?API de membresía de ASP.NET forzar el cambio de contraseña
Respuesta
No hay funcionalidad incorporada.
Tiene que implementarlo usted mismo. He aquí un ejemplo: http://forums.asp.net/p/1273575/2414481.aspx
Aquí tiene, una solución totalmente probada;)
protected void LoginButton_Click(object sender, EventArgs e)
{
/****note: UserName and Password are textbox fields****/
if (Membership.ValidateUser(UserName.Text, Password.Text))
{
MembershipUser user = Membership.GetUser(UserName.Text);
if (user == null)
{
FailureText.Text = "Invalid username. Please try again.";
return;
}
if (user.IsLockedOut)
user.UnlockUser();
/* this is the interesting part for you */
if (user.LastPasswordChangedDate == user.CreationDate) //if true, that means user never changed their password before
{
//TODO: add your change password logic here
}
}
}
En caso de que necesite ayuda en la forma de cambiar la contraseña, por favor hágamelo saber.
caso de este post estar en cualquier ayuda para usted, por favor etiquetar como respuesta
Como alternativa a la propiedad LastPasswordChangedDate, también se puede utilizar la propiedad Comentarios (que es solo una cadena de forma libre) para indicar que los usuarios necesitan el restablecimiento de sus contraseñas, en caso de que su lógica de cambio de contraseña no siempre gire en torno a las fechas de cambio de contraseña. –
A continuación se muestra la solución en VB. También incluye FindControl para leer y configurar los elementos de formulario asp:Login ID="LoginUser"
.
Protected Sub LoginButton_Click(sender As Object, e As EventArgs)
'***note: UserName and Password are textbox fields***
Dim UserName As TextBox = DirectCast(LoginUser.FindControl("UserName"), TextBox)
Dim Password As TextBox = DirectCast(LoginUser.FindControl("Password"), TextBox)
Dim FailureText As Literal = DirectCast(LoginUser.FindControl("FailureText"), Literal)
If Membership.ValidateUser(UserName.Text, Password.Text) Then
Dim user As MembershipUser = Membership.GetUser(UserName.Text)
If user Is Nothing Then
FailureText.Text = "Invalid username. Please try again."
Return
End If
If user.IsLockedOut Then
user.UnlockUser()
End If
' this is the interesting part for you
If user.LastPasswordChangedDate = user.CreationDate Then
'TODO: add your change password logic here
End If
End If
End Sub
Así es como lo hice. Es mejor hacerlo después de iniciar sesión.
protected void LoginUser_LoggedIn(object sender, EventArgs e)
{
if (Membership.ValidateUser(this.LoginUser.UserName, this.LoginUser.Password))
{
MembershipUser user = Membership.GetUser(this.LoginUser.UserName);
if (user == null)
{
this.LoginUser.FailureText = "Invalid username. Please try again.";
return;
}
if (user.IsLockedOut)
{
user.UnlockUser();
}
if (user.LastPasswordChangedDate == user.CreationDate) //if true, that means user never changed their password before
{
Response.Redirect("~/Account/ChangePassword.aspx");
}
}
}
- 1. La contraseña de cambio de membresía ASP.NET no funciona
- 2. Membresía de ASP.NET Restablecimiento de contraseña
- 3. expiración de la contraseña de membresía ASP.NET
- 4. Autenticación API web ASP.NET MVC 4 con proveedor de membresía
- 5. Cambio manual de nombre de usuario en Asp.Net Membresía
- 6. ¿Cómo cambiar manualmente la contraseña en la membresía de asp.net?
- 7. Alternativas de membresía ASP.NET
- 8. Proveedor de membresía de asp.net personalizado
- 9. Membresía ASP.NET Control ChangePassword - Necesito verificar la contraseña anterior
- 10. Autenticación de Facebook y Membresía de Asp.Net
- 11. Perfil de membresía de ASP.NET
- 12. membresía personalizada de ASP.NET MVC para principiantes
- 13. Membresía de Asp.net - Cuentas bloqueadas
- 14. ¿Cómo se puede cambiar una contraseña hash utilizando el proveedor de membresía asp.net si no se conoce la contraseña actual?
- 15. git-svn cambio de contraseña
- 16. ¿Cómo crear un password de proveedor de membresía asp.net manualmente?
- 17. Reimplement Membresía ASP.NET y hashing de contraseña de usuario en Ruby
- 18. Algoritmo hash diferente para el proveedor de membresía ASP.NET?
- 19. Usar la membresía ASP.NET en PHP
- 20. oAuth Proveedor de membresía de ASP.NET
- 21. Proveedor de membresía de ASP.NET con EF
- 22. ¿Cómo extender la membresía en Asp.net?
- 23. ASP.NET SQL Membresía Tablas
- 24. Guardar un cambio de correo electrónico dentro del proveedor de membresía predeterminado en ASP.NET MVC
- 25. Contraseña de Asp.Net MVC para
- 26. ¿Qué tan seguro es el marco de membresía de ASP.NET?
- 27. C# Programemente cree el Esquema de Membresía de ASP.NET
- 28. membresía asp.net - establecer campo de comentarios
- 29. Desbloquear usuario de la membresía asp.net
- 30. ¿Cómo puedo probar la membresía de Asp.net?
http://forums.asp.net/p/1273575/2414481.aspx –