天天看點

關于membership的進一步了解

  前幾天,開始接觸membership,一肚子疑惑,于是就找了一些資料發了這篇blog: 關于membership實用性讨論 。

  但是,還是感覺不能了解membership。于是今天又查閱了大量資料,才對membership有了進一步的了解。

  早期版本的ASP.NET 2.0 架構附帶了兩個成員身份提供程式:

AccessMembershipProvider

以及

SqlMembershipProvider

。正式版本已經不再提供 AccessMembershipProvider,預設隻有 SqlMembershipProvider。要想使用其他資料庫或者使用自定義的使用者資訊,就必須自己編寫 MembershipProvider ,然後在web.config檔案裡配置:

<configuration>
            <system.web>
            <membership defaultProvider="provider名" />
            </system.web>
            </configuration>      

使用 SqlMembershipProvider時,通過在web.config檔案裡進行配置改變其苛刻的要求(密碼長度,複雜度等):

<membership>
            <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider"
            type="System.Web.Security.SqlMembershipProvider, System.Web,
            Version=2.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a"
            connectionStringName="LocalSqlServer"
            requiresQuestionAndAnswer="false" requiresUniqueEmail="true"
            passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0"
            minRequiredPasswordLength="3" />
            </providers>
            </membership>       

這樣配置的原理是web.config裡的設定覆寫了machine.config的預設設定,簡化了使用者注冊的複雜度。

這篇文章( 閱讀)詳細介紹了 SqlMembershipProvider。

  以上資料僅是介紹了 MembershipProvider的配置方法,那怎麼實作自定義的 MembershipProvider呢?我找到了這樣一篇文章( 閱讀),介紹了怎樣實作自定義一個基于Access的 MembershipProvider,并提供執行個體的源碼下載下傳 。

         并且微軟也提供了 Sample Access Providers下載下傳。