Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MySQL提供程序和ASP.NET MVC 5的成员资格问题,未考虑MinRequiredNonalphanumeric字符_C#_Mysql_Asp.net_Asp.net Mvc_Web - Fatal编程技术网

C# MySQL提供程序和ASP.NET MVC 5的成员资格问题,未考虑MinRequiredNonalphanumeric字符

C# MySQL提供程序和ASP.NET MVC 5的成员资格问题,未考虑MinRequiredNonalphanumeric字符,c#,mysql,asp.net,asp.net-mvc,web,C#,Mysql,Asp.net,Asp.net Mvc,Web,我目前正在从事一个web项目,但经过一些字母测试后,我被告知在注册时要求密码中使用非字母数字字符太多了。他们希望能够只使用字母和数字(最终使用大写) 因此,我转到我的web.config编辑提供者的标记,但是当值为0时,它不会改变任何内容。我的提供程序被定义为默认提供程序,并且不应该有对表单控制方法的任何重写,所以我不知何故在这里不知所措 以下是my web.config中的提供程序行: <membership defaultProvider="MySQLMembershipProvide

我目前正在从事一个web项目,但经过一些字母测试后,我被告知在注册时要求密码中使用非字母数字字符太多了。他们希望能够只使用字母和数字(最终使用大写)

因此,我转到我的web.config编辑提供者的标记,但是当值为0时,它不会改变任何内容。我的提供程序被定义为默认提供程序,并且不应该有对表单控制方法的任何重写,所以我不知何故在这里不知所措

以下是my web.config中的提供程序行:

<membership defaultProvider="MySQLMembershipProvider">
  <providers>
    <remove name="MySQLMembershipProvider" />
    <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.9.7.0, Culture=neutral, PublicKeyToken=x" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
  </providers>
</membership>

我已经尝试将minRequiredNonalphanumericCharacters的值更改为2,但当然,错误消息是通用的,不会更改。所以我真的不能说是否使用了提供者。因此,基本上,无论我将值设置为0、1或2,如果我尝试键入字母数字密码,错误消息都不会消失,但只要输入至少1个字符,我就可以顺利通过。

我终于解决了问题,碰巧MySQL成员资格提供程序被我的models文件夹中的配置类推翻,这并没有出现在我的解决方案中

public class RegisterViewModel
{
    [Required]
    [EmailAddress]
    [Display(Name = "Courrier électronique")]
    public string Email { get; set; }

    [Required]
    [StringLength(100, ErrorMessage = "La chaîne {0} doit comporter au moins {2} caractères.", MinimumLength = 6)]
    [DataType(DataType.Password)]
    [Display(Name = "Mot de passe")]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Confirmer le mot de passe ")]
    [Compare("Password", ErrorMessage = "Le mot de passe et le mot de passe de confirmation ne correspondent pas.")]
    public string ConfirmPassword { get; set; }

    [MustBeTrue(ErrorMessage = "Vous devez accepter les conditions générales d'utilisation.")]
    [Display(Name = "Accepter les conditions générales d'utilisation ")]
    public bool AccepteConditions { get; set; }
}