ASP NET 4 Как я могу использовать аннотации данных с паролем DataType со свойством MinLength? - PullRequest
0 голосов
/ 09 июня 2011
public class ChangePasswordObject {

    [Required] [DataType(DataType.EmailAddress)]
    string email;
    [Required]
    string authorization_code;
    [Required] [DataType(DataType.Password)]
    string password;
}

Ответы [ 3 ]

6 голосов
/ 09 июня 2011

Должно быть так же просто, как:

[Required] 
[DataType(DataType.Password)]
[StringLength(20, MinimumLength = 3)]
string password;

Первый параметр StringLength - это максимальная длина .


Теперь за мои 0,02 доллара:

Как отмечалось в комментариях, предоставление минимальных и максимальных ограничений для полей вашего пароля многое говорит злоумышленнику о ваших требованиях к паролю, и они могут оптимизировать свою атаку на основе этой информации.

Кроме того, будьте осторожны с хранением и передачей незашифрованных паролей - вы должны солить + хешировать их как можно скорее, используя алгоритм одностороннего шифрования и случайное солт. Проверка паролей должна повторить шифрование на вводе пользователя, используя известную соль и сравнивая полученные хеши. Если вы делаете больше с открытым паролем, чем отправляете его, вы можете пересмотреть свою стратегию безопасности.

1 голос
/ 09 июня 2011

Добавьте атрибут StringLength в поле пароля.Пример здесь - внизу страницы.

0 голосов
/ 17 июня 2016
[MembershipPasswordAttribute(MinRequiredNonAlphanumericCharacters = 4, MinRequiredPasswordLength = 7, MinNonAlphanumericCharactersError = "Alpha", MinPasswordLengthError = "MIN Length")]
[DataType(DataType.Password)]
public string Password { get; set; }

[System.ComponentModel.DataAnnotations.Compare("Password",ErrorMessage  ="{0} and {1} should be same")]
public string ComparePassword { get; set; }
...