【问题标题】:ASP.NET MVC DataAnnotations StringLength On Password ModelState.IsValid Fails When Hashed密码 ModelState.IsValid 上的 ASP.NET MVC DataAnnotations StringLength 在散列时失败
【发布时间】:2012-06-09 14:27:47
【问题描述】:

第一个问题是,使用 StringLength,是否可以只指定最小长度?更重要的是,这是我的密码。

private string password;
[Required]
[DataType(DataType.Password)]
[StringLength(15, MinimumLength = 6)]
public string Password { get { return password; } set { HashPassword(value); } }

我想要的是当用户输入密码时,他们的密码只能输入最少 6 个字符,最多 15 个字符。问题在于我的控制器,因为 ModelState.IsValid 由于散列生成超过 15 个字符的巨大字符串而失败。我该如何解决这个问题?

【问题讨论】:

  • 为什么不使用 2 个字段来输入密码和加密?或者你可以在通过Model.IsValid条件后哈希密码
  • 好主意,我什至没有想到。谢谢。

标签: asp.net-mvc hash data-annotations modelstate


【解决方案1】:

我建议在其他地方(例如在控制器中)进行散列,而不是在属性的 set 访问器中进行。

【讨论】:

  • 可能是一个单独的“HashedPassword”属性。
猜你喜欢
  • 2011-01-24
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
相关资源
最近更新 更多