Para aprender ASP.NET MVC, estamos construyendo una aplicación de Internet.
Parte VIII: Adición de Seguridad.
MVC seguridad de las aplicaciones
La carpeta contiene los modelos de clases que representan el modelo de aplicación.
Visual Web Developer crea automáticamente un archivo AccountModels.cs que contiene los modelos de autenticación de la aplicación.
AccountModels contiene una LogOnModel, un ChangePasswordModel, y una RegisterModel:
El Modelo de Cambio de Contraseña
public class ChangePasswordModel
{
[Required]
[ DataType(DataType.Password) ]
[ Display(Name = "Current password") ]
public string OldPassword { get;
set; }
[Required]
[ StringLength(100, ErrorMessage = "The {0}
must be at least {2} characters long.",
MinimumLength = 6) ]
[ DataType(DataType.Password) ]
[ Display(Name =
"New password") ]
public string NewPassword { get; set; }
[ DataType(DataType.Password) ]
[ Display(Name = "Confirm new password") ]
[ Compare("NewPassword",
ErrorMessage = "The new password and confirmation password do not
match.") ]
public string ConfirmPassword { get; set; }
}
El Modelo de inicio de sesión
public class LogOnModel
{
[Required]
[ Display(Name = "User
name") ]
public string UserName { get; set; }
[Required]
[ DataType(DataType.Password) ]
[ Display(Name = "Password") ]
public string Password { get; set; }
[ Display(Name = "Remember me?") ]
public bool RememberMe { get;
set; }
}
El Modelo de Registro
public class RegisterModel
{
[Required]
[ Display(Name =
"User name") ]
public string UserName { get; set; }
[Required]
[ DataType(DataType.EmailAddress) ]
[ Display(Name = "Email address") ]
public string Email { get; set; }
[Required]
[ StringLength(100,
ErrorMessage = "The {0} must be at least {2} characters long." ,
MinimumLength = 6) ]
[ DataType(DataType.Password) ]
[ Display(Name =
"Password") ]
public string Password { get; set; }
[ DataType(DataType.Password) ]
[ Display(Name = "Confirm password") ]
[ Compare("Password",
ErrorMessage = "The password and confirmation password do not match.") ]
public string ConfirmPassword { get; set; }
}