MySql .net连接器成员资格提供程序默认MinRequiredNonAlphanumericCharacters

时间:2011-03-10 07:26:46

标签: .net asp.net mysql membership

我刚刚下载并安装了最新的MySQL .net连接器6.3.6,它连接到数据库就好了。我的问题是我为它设置的web.config设置。似乎MinRequiredNonAlphanumericCharacters属性被硬编码为'1'。

我已将此更改为0,5或任何其他数字。我甚至设置了一个网页来显示提供者的属性。如果我更改了web.config中的值,则值会更新。似乎MinRequiredNonAlphanumericCharacters不会改变。

<membership defaultProvider="MySqlMembershipProvider">
    <providers>
        <clear/>
        <add name="MySqlMembershipProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" 
         type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.6.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" 
         applicationName="MySite" 
         maxInvalidPasswordAttempts="3" 
         enablePasswordReset="true" 
         enablePasswordRetrieval="false" 
         requiresQuestionAndAnswer="true" 
         requiresUniqueEmail="true" 
         passwordFormat="Hashed" 
         passwordAttemptWindow="10" 
         minRequiredNonAlphanumericCharacters="0" 
         minRequiredPasswordLength="44"/>
    </providers>
</membership>

同样,数据库连接工作得很好,因为我没有发布连接字符串。 44位的最小密码长度仅用于测试。

protected void Page_Load(object sender, EventArgs e)
{
    MembershipProvider p = Membership.Provider;

    Literal1.Text = "Min Pass length: " + p.MinRequiredPasswordLength.ToString() + 
        "<br/> Required non-alpha: " + p.MinRequiredNonAlphanumericCharacters.ToString() +
        "<br/>App Name: " + p.ApplicationName;
}

在我测试的三个中,只有MinRequiredNonAlphanumericCharacters停留在'1',无论我在web.config中将其更改为什么。我甚至将其更改为'abcd'并且没有收到.NET运行时错误。我认为它是硬编码的地方或我没有在web.config中使用正确的属性名称。我直接复制了web.config值,并在MySQL .net连接器随附的文档中进行了示例。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

在www.asp.net找到我的帖子的答案。我的web.config文件中minRequiredNonAlphanumericCharacters的属性是错误的。需要minRequiredNonalphanumericCharacters(小'a')。