ASP.NET MVC - Sécurité
Pour apprendre ASP.NET MVC, nous allons créer une application Internet.
Partie 8 : Ajout de la sécurité.
Sécurité des applications MVC
Dossier ModelsContient les classes qui représentent les modèles de l'application.
Visual Web Developer crée automatiquementAccountModels.csun fichier qui contient les modèles pour l'authentification de l'application.
AccountModelsContientLogOnModel、ChangePasswordModeletRegisterModel:

Modèle de changement de mot de passe
public class ChangePasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe actuel")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Nouveau mot de passe")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmer le nouveau mot de passe")]
[Compare("NewPassword", ErrorMessage = "Le nouveau mot de passe et le mot de passe de confirmation ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe actuel")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Nouveau mot de passe")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmer le nouveau mot de passe")]
[Compare("NewPassword", ErrorMessage = "Le nouveau mot de passe et le mot de passe de confirmation ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}
Modèle de connexion
public class LogOnModel
{
[Required]
[Display(Name = "Nom d'utilisateur")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe")]
public string Password { get; set; }
[Display(Name = "Se souvenir de moi ?")]
public bool RememberMe { get; set; }
}
{
[Required]
[Display(Name = "Nom d'utilisateur")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe")]
public string Password { get; set; }
[Display(Name = "Se souvenir de moi ?")]
public bool RememberMe { get; set; }
}
Modèle d'inscription
public class RegisterModel
{
[Required]
[Display(Name = "Nom d'utilisateur")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Adresse e-mail")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Le champ {0} doit contenir au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmer le mot de passe")]
[Compare("Password", ErrorMessage = "Le mot de passe et sa confirmation ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}
{
[Required]
[Display(Name = "Nom d'utilisateur")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Adresse e-mail")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Le champ {0} doit contenir au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Mot de passe")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmer le mot de passe")]
[Compare("Password", ErrorMessage = "Le mot de passe et sa confirmation ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}
Autres extensions