asp.net 身份密码验证

Validation of asp.net identity password

我有一个 asp.net mvc 应用程序,我在其中使用了 Asp.net identity。我实现了这个方法来验证协作者(用户自定义)字段:

 [HttpPost]
    public bool ValidateCollaborateur(CollaborateurModel item)
    {
        if (item.Username == null || item.Email == null) return false;
        if (UserManager.FindByEmail(item.Email) != null) return false; 

        return ModelState.IsValid;
    }

item 包含 asp.net 身份用户的 password 属性,因此它必须包含

  1. 特殊字符
  2. 人数
  3. 小写
  4. 大字

我想如上所述验证 item.Password 字段。

  1. 我怎样才能完成这个任务?
  2. 是否有asp.net身份密码验证的方法?

构建符合您条件的表达式:

 var password = "password_to_test";

 if (password.Any("!@#$%^&*".Contains)
  && password.Any(char.IsDigit)
  && password.Any(char.IsLower)
  && password.Any(char.IsUpper))
  {
      //valid!
  }

使用这种方法,您可以轻松添加和删除任何条件,而无需重新进行验证。它还使您能够拆分您的条件,并且 return 出于特定原因向用户提供无效密码。