ASP.NET MVC - Безопасность
Чтобы изучить ASP.NET MVC, мы создадим интернет-приложение.
Часть 8: Добавление безопасности.
Безопасность приложения MVC
Папка ModelsСодержит классы, представляющие модели приложения.
Visual Web Developer автоматически создаетAccountModels.csфайл, содержащий модели для аутентификации приложения.
AccountModelsСодержитLogOnModel、ChangePasswordModelиRegisterModel:

Модель смены пароля
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 = "Новый пароль")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Подтверждение нового пароля")]
[Compare("NewPassword", ErrorMessage = "Новый пароль и подтверждение пароля не совпадают.")]
public string ConfirmPassword { get; set; }
}
{
[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 = "Новый пароль")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Подтверждение нового пароля")]
[Compare("NewPassword", ErrorMessage = "Новый пароль и подтверждение пароля не совпадают.")]
public string ConfirmPassword { get; set; }
}
Модель входа
public class LogOnModel
{
[Required]
[Display(Name = "Имя пользователя")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Пароль")]
public string Password { get; set; }
[Display(Name = "Запомнить меня?")]
public bool RememberMe { get; set; }
}
{
[Required]
[Display(Name = "Имя пользователя")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Пароль")]
public string Password { get; set; }
[Display(Name = "Запомнить меня?")]
public bool RememberMe { get; set; }
}
Модель регистрации
public class RegisterModel
{
[Required]
[Display(Name = "Имя пользователя")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Адрес электронной почты")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Поле {0} должно содержать не менее {2} символов.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Пароль")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Подтверждение пароля")]
[Compare("Password", ErrorMessage = "Пароль и подтверждение пароля не совпадают.")]
public string ConfirmPassword { get; set; }
}
{
[Required]
[Display(Name = "Имя пользователя")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Адрес электронной почты")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Поле {0} должно содержать не менее {2} символов.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Пароль")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Подтверждение пароля")]
[Compare("Password", ErrorMessage = "Пароль и подтверждение пароля не совпадают.")]
public string ConfirmPassword { get; set; }
}
Другие расширения