Sécurité MVC
ASP.NET MVC - Sécurité
Pour apprendre ASP.NET MVC, nous allons créer une application Internet.
Partie 8 : Ajouter de la sécurité.
MVC Application Security
Dossier Models contient des classes qui représentent les modèles d'application.
Visual Web Developer crée automatiquement le fichier AccountModels.cs, qui contient les modèles utilisés pour l'authentification des applications.
AccountModels contient LogOnModel, ChangePasswordModel et RegisterModel :
Modifier le modèle de mot de passe
classe publique ChangePasswordModel
{
[Obligatoire]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Obligatoire]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Affichage(Nom = "Nouveau mot de passe")]
public string NewPassword { get; }
[DataType(DataType.Password)]
[Affichage(Nom = "Confirmer le nouveau mot de passe")]
[Comparer("NouveauMot de Passe", ErrorMessage = "Le nouveau mot de passe et le mot de passe de confirmation ne match.")]
chaîne publique ConfirmPassword { get; set; }
}
{
[Obligatoire]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Obligatoire]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Affichage(Nom = "Nouveau mot de passe")]
public string NewPassword { get; }
[DataType(DataType.Password)]
[Affichage(Nom = "Confirmer le nouveau mot de passe")]
[Comparer("NouveauMot de Passe", ErrorMessage = "Le nouveau mot de passe et le mot de passe de confirmation ne match.")]
chaîne publique ConfirmPassword { get; set; }
}
Modèle de connexion
classe publique LogOnModel
{
[Obligatoire]
[Display(Name = "User name")]
chaîne publique UserName { get; set; }
[Obligatoire]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Mot de passe { get; set; }
[Display(Name = "Se souvenir de moi?")]
public bool RememberMe { get; définir ; }
}
{
[Obligatoire]
[Display(Name = "User name")]
chaîne publique UserName { get; set; }
[Obligatoire]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Mot de passe { get; set; }
[Display(Name = "Se souvenir de moi?")]
public bool RememberMe { get; définir ; }
}
Enregistrer 模型
classe publique RegisterModel
{
[Obligatoire]
[Affichage(Nom = "Nom d'utilisateur")]
public string UserName { get; ensemble; }
[Obligatoire]
[DataType(DataType.EmailAddress)]
[Display(Name = "Adresse e-mail")]
chaîne publique Email { obtenir ; ensemble; }
[Obligatoire]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Affichage(Nom = "Mot de passe")]
chaîne publique Mot de passe { get; ensemble; }
[DataType(DataType.Password)]
[Affichage(Nom = "Confirmer le mot de passe")]
[Comparer("Mot de passe", ErrorMessage = "Le mot de passe et le mot de passe de confirmation ne correspondent pas.")]
chaîne publique ConfirmPassword {get; ensemble; >
}
{
[Obligatoire]
[Affichage(Nom = "Nom d'utilisateur")]
public string UserName { get; ensemble; }
[Obligatoire]
[DataType(DataType.EmailAddress)]
[Display(Name = "Adresse e-mail")]
chaîne publique Email { obtenir ; ensemble; }
[Obligatoire]
[StringLength(100, ErrorMessage = "Le {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Affichage(Nom = "Mot de passe")]
chaîne publique Mot de passe { get; ensemble; }
[DataType(DataType.Password)]
[Affichage(Nom = "Confirmer le mot de passe")]
[Comparer("Mot de passe", ErrorMessage = "Le mot de passe et le mot de passe de confirmation ne correspondent pas.")]
chaîne publique ConfirmPassword {get; ensemble; >
}