ASP.NET MVC - Sécurité

Pour apprendre ASP.NET MVC, nous allons construire une application Internet.

Partie 8 :Ajoutez la sécurité.

Sécurité de l'application MVC

Dossier Modelscontient les classes représentant les modèles de l'application.

Créé automatiquement par Visual Web Developer AccountModels.cs qui contient les modèles utilisés pour l'authentification de l'application.

les fichiers AccountModels contient LogOnModelChangePasswordModel et RegisterModel

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 contenir 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 = "Confirmez le nouveau mot de passe")]
[Compare("NewPassword", ErrorMessage = "Le nouveau mot de passe et la confirmation du mot de passe ne correspondent pas")] 
ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}

Modèle Logon

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; }
}

Modèle Register

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 {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 = "Confirmez le mot de passe")]
[Compare("Password", ErrorMessage = "Le mot de passe et la confirmation du mot de passe 
ne correspondent pas.")]
public string ConfirmPassword { get; set; }
}