我剛剛下載並安裝了最新的MySQL .net連接器6.3.6,它連接到數據庫就好了。我的問題是我爲它設置的web.config設置。看起來MinRequiredNonAlphanumericCharacters屬性被硬編碼爲'1'。MySql .net連接器成員資格提供者默認MinRequiredNonAlphanumericCharacters
我已將此更改爲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中使用正確的屬性名稱。我直接從例如MySQL.net連接器附帶的文檔中複製了web.config的值。
任何幫助將不勝感激。