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="as.netaccessprovider" userisonl.netimewindow="15" >
<providers>
<add name="as.netsqlprovider"
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="as.netaccessprovider"
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>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器