如何管理內建的 Membership Provider

我們知道 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 中設定一次,就會自動產生這個區段了。
 


Dev 2Share @ 點部落