我們知道 ASP.NET 內建的 Membership Provider 有其預設的規則,例如密碼會進行 Hash 後儲存在資料庫,使用者輸入密碼失敗五次之後帳號會被鎖住等等。但是這些預設的規則要如何變更...
我們知道 ASP.NET 內建的 Membership Provider 有其預設的規則,例如密碼會進行 Hash 後儲存在資料庫,使用者輸入密碼失敗五次之後帳號會被鎖住等等。但是這些預設的規則要如何變更?
事實上 IIS 可以幫我們做這件事情,而且非常簡單。請打開「我的電腦」的管理畫面,在 IIS 設定畫面中的網頁內容頁裡尋找 ASP.NET 頁籤,再按下「編輯組態」按鈕,再進入「驗證」頁籤,在「成員資格」項目中選擇「管理提供者」,就可以進行管理了。
或者可以再更簡單些,那就是在 Web.config 的 system.web 下的 membership 區段進行修改,範例如下:
<system.web>
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="LocalSqlServer" enablePasswordRetrieval="true"
enablePasswordReset="true" requiresQuestionAndAnswer="true"
applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10"
passwordStrengthRegularExpression="" name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken="b03f5f7f11d50a3a" />
</providers>
</membership>
你可能發現你的 Web.config 檔案中沒有這個區段;你只需要依第一種方法從 IIS 中設定一次,就會自動產生這個區段了。