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