“Whidbey”是微软工具套件的下一个版本。按照微软的计划,它将会在2004年底推出。
Asp.Net
2.0(codename
Whidbey)通过Provider模式为用户验证、角色管理等方面提供了非常强大易用的框架模型。Whidbey中提供了一个Asp.Net
configuration工具,通过它可以非常容易地配置用户信息数据库,管理角色等等,再与新加入的Security控件配合,几乎不用写什么代码就能够实现用户验证和角色管理功能。关于这些控件和配置工具的具体使用,可以参考这篇文章:使用更精简的代码保证
ASP.NET 应用程序的安全
但是在PDC
Preview版本的Whidbey中,这个配置工具的功能还不是很完善。从我使用的情况来看,它目前还只能创建和连接自己的Demo用的Access数据库,不能连接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》。
|