ASP.NET Whidbey中實現Provider(1)
發表于:2007-06-30來源:作者:點擊數:
標簽:
“Whidbey”是微軟工具套件的下一個版本。按照微軟的計劃,它將會在2004年底推出。 ASP .net 2.0(codename Whidbey)通過Provider模式為用戶驗證、角色管理等方面提供了非常強大易用的框架模型。Whidbey中提供了一個ASP.NET configuration工具,通過它可以
“Whidbey”是微軟工具套件的下一個版本。按照微軟的計劃,它將會在2004年底推出。
ASP
.net 2.0(codename Whidbey)通過Provider模式為用戶驗證、角色管理等方面提供了非常強大易用的框架模型。Whidbey中提供了一個ASP.NET configuration工具,通過它可以非常容易地配置用戶信息
數據庫,管理角色等等,再與新加入的Security控件配合,幾乎不用寫什么代碼就能夠實現用戶驗證和角色管理功能。關于這些控件和配置工具的具體使用,可以參考這篇文章:使用更精簡的代碼保證 ASP.NET 應用程序的安全
但是在PDC Preview版本的Whidbey中,這個配置工具的功能還不是很完善。從我使用的情況來看,它目前還只能創建和連接自己的Demo用的A
clearcase/" target="_blank" >ccess數據庫,不能連接SQL Server數據庫進行擴展。因此,為了能夠連接SQL Server,我們必須提供我們自己的Providers。這里以連接IBuySpy的Portal數據庫為例來說明如何實現一個Membership Provider。
為了搞清楚如何實現我們自己的Membership Provider,有必要先看看Whidbey默認使用的Membership Provider是如何做的。在machine.config配置文件中,Whidbey使用類似下面這樣的配置實現:
<membership defaultProvider="AspNetAccessProvider" userIsOnlineTimeWindow="15" >
<providers>
<add name="AspNetSqlProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=1.2.3400.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
description="Stores and retrieves membership data from the local Microsoft SQL Server database"
/>
<add name="AspNetAccessProvider"
type="System.Web.Security.AccessMembershipProvider, System.Web, Version=1.2.3400.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="AccessFileName"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
description="Stores and retrieves membership data from the local Microsoft Access database file"
/>
</providers>
</membership>
關于這段配置文件的更詳細解說,可以參考《A First Look at ASP.NET v. 2.0》。
原文轉自:http://www.kjueaiud.com