怎样让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库

<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
VS2005 ASP.NET配置工具可以很方便地配置和使用Membership功能,如果你有安装 Sql Server Express 的话,ASP.NET配置工具会帮你生成数据库及更改Web.Config文件以便使用membership的各种功能。

  但是如果没有安装 Sql Server Express 的话,或者是想使用已存在的数据库的话,你会发现ASP.NET配置工具根本就没办法帮你初始化非Sql Server Express数据库。这个时候,就要手动地进行MemberShip的配置工作了。

  首先,打开“Visual Studio 2005 命令提示”(在VS2005菜单里面的Visual Studio Tools里面能找到),运行aspnet_regsql.exe这个工具。然后按照屏幕提示,初始化数据库。

  完成数据库的初始化工作之后,就需要对Web.Config进行相应配置。首先,确保在connectionStrings节里面已经配置好可以连接到该数据库的ConnectionString。如:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"><br><connectionstrings><br><add name="northWindConn" connectionstring="server=localserver;uid=sa;pwd=;Initial Catalog=northWind" providername="System.Data.SqlClient"></add><br></connectionstrings><br></configuration>

  接下来,配置membership节和roleManager节,这两个节都拥有providers子节,可以为他们创建多个 provider,每个provider都有connectionStringName的属性,这个属就是与上面connectionStrings相关联的。以下是示例:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"><br><system.web></system.web></configuration>

<membership defaultprovider="SqlProvider" userisonlinetimewindow="15"><br><providers><br><clear></clear><br><add></add> name="SqlProvider"<br> type="System.Web.Security.SqlMembershipProvider"<br> connectionStringName="northWindConn"<br> applicationName="northWind"<br> enablePasswordRetrieval="false"<br> enablePasswordReset="true"<br> requiresQuestionAndAnswer="true"<br> requiresUniqueEmail="true"<br> passwordFormat="Hashed" /&gt;<br></providers><br></membership>

<rolemanager defaultprovider="SqlProvider"></rolemanager> enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers><br><add></add> name="SqlProvider"<br> type="System.Web.Security.SqlRoleProvider"<br> connectionStringName="northWindConn" <br> applicationName="northWind" /&gt;<br></providers>



  .Net 2.0的MemberShip被设计为可以通地过一个数据库为多个应用程序提供MemberShip服务。不同的applicationName配置取得的资料是不同的,因此配置时需要注意前后提供的applicationName要一致。

  完成了以上两步,就可以通过VS2005自带的ASP.NET配置工具来进行角色,用户等的管理了。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1888371


你可能感兴趣的:(SQL Server)