ASP.NET MVC - Segurança

Para aprender ASP.NET MVC, construiremos um aplicativo da Internet.

Parte 8:Adicionar segurança.

Segurança do aplicativo MVC

Pasta Modelscontém classes que representam os modelos do aplicativo.

Criado automaticamente pelo Visual Web Developer AccountModels.cs um arquivo, que contém os modelos usados para autenticação do aplicativo.

AccountModels contém LogOnModelMudarSenhaModel e RegisterModel

Modelo de Mudança de Senha

public class MudarSenhaModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Senha atual")]
public string AntigaSenha { get; set; }
[Required]
[StringLength(100, ErrorMessage = "O {0} deve ter pelo menos {2} caracteres.", 
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Nova senha")]
public string NovoSenha { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar nova senha")]
[Compare("NovoSenha", ErrorMessage = "A nova senha e a confirmação da senha não coincidem")] 
não coincidem.")]
public string ConfirmPassword { get; set; }
}

Modelo de Login

public class LogOnModel
{
[Required]
[Display(Name = "Nome de usuário")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Senha")]
public string Password { get; set; }
[Display(Name = "Lembrar-me?")]
public bool RememberMe { get; set; }
}

Modelo de Registro

public class RegisterModel
{
[Required]
[Display(Name = "Nome de usuário")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Endereço de e-mail")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "O {0} deve ter pelo menos {2} caracteres.", 
MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Senha")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar senha")]
[Compare("Password", ErrorMessage = "A senha e a senha de confirmação 
não coincidem.")]
public string ConfirmPassword { get; set; }
}