ASP.NET MVC - Seguridad

Para aprender ASP.NET MVC, construiremos una aplicación de Internet.

Parte 8:Añadir seguridad.

Seguridad de aplicaciones MVC

Carpetا Modelscontiene clases que representan los modelos de la aplicación.

Creado automáticamente por Visual Web Developer AccountModels.cs un archivo que contiene los modelos utilizados para la autenticación de la aplicación.

AccountModels contiene LogOnModelChangePasswordModel y RegisterModel

Modelo de Cambio de Contraseña

public class ChangePasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Contraseña actual")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "El {0} debe tener al menos {2} caracteres.", 
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Nueva contraseña")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar nueva contraseña")]
[Comparar("NewPassword", MensajeDeError = "La nueva contraseña y la contraseña de confirmación 
no coinciden.")]
public string ConfirmPassword { get; set; }
}

Modelo de inicio de sesión

public class LogOnModel
{
[Required]
[Display(Name = "Nombre de usuario")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Contraseña")]
public string Password { get; set; }
[Display(Name = "¿Recordarme?")]
public bool RememberMe { get; set; }
}

Modelo de registro

public class RegisterModel
{
[Required]
[Display(Name = "Nombre de usuario")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Dirección de correo electrónico")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "El {0} debe tener al menos {2} caracteres.", 
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Contraseña")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar contraseña")]
[Compare("Password", ErrorMessage = "La contraseña y la contraseña de confirmación 
no coinciden.")]
public string ConfirmPassword { get; set; }
}