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"
>
< connectionStrings >
< add name ="northWindConn" connectionString ="server=localserver;uid=sa;pwd=;Initial Catalog=northWind" providerName ="System.Data.SqlClient" />
</ connectionStrings >
</ configuration >
< connectionStrings >
< add name ="northWindConn" connectionString ="server=localserver;uid=sa;pwd=;Initial Catalog=northWind" providerName ="System.Data.SqlClient" />
</ connectionStrings >
</ configuration >
接下来,配置membership节和roleManager节,这两个节都拥有providers子节,可以为他们创建多个 provider,每个provider都有connectionStringName的属性,这个属就是与上面connectionStrings相关联的。以下是示例:
<
configuration
xmlns
="http://schemas.microsoft.com/.NetConfiguration/v2.0"
>
< system .web >
< membership defaultProvider ="SqlProvider" userIsOnlineTimeWindow ="15" >
< providers >
< clear />
< addE9uitug
name ="SqlProvider"
type ="System.Web.Security.SqlMembershipProvider"
connectionStringName ="northWindConn"
applicationName ="northWind"
enablePasswordRetrieval ="false"
enablePasswordReset ="true"
requiresQuestionAndAnswer ="true"
requiresUniqueEmail ="true"
passwordFormat ="Hashed" />
</ providers >
</ membership >
< roleManager defaultProvider ="SqlProvider"
enabled ="true" E9uitug
cacheRolesInCookie ="true"
cookieName =".ASPROLES"
cookieTimeout ="30"
cookiePath ="/"
cookieRequireSSL ="false"
cookieSlidingExpiration ="true"
cookieProtection ="All" >
< providers >
< add
name ="SqlProvider"
type ="System.Web.Security.SqlRoleProvider"
connectionStringName ="northWindConn"
applicationName ="northWind" />
</ providers >
</ roleManager >
</ system.web >
</ configuration >
< system .web >
< membership defaultProvider ="SqlProvider" userIsOnlineTimeWindow ="15" >
< providers >
< clear />
< addE9uitug
name ="SqlProvider"
type ="System.Web.Security.SqlMembershipProvider"
connectionStringName ="northWindConn"
applicationName ="northWind"
enablePasswordRetrieval ="false"
enablePasswordReset ="true"
requiresQuestionAndAnswer ="true"
requiresUniqueEmail ="true"
passwordFormat ="Hashed" />
</ providers >
</ membership >
< roleManager defaultProvider ="SqlProvider"
enabled ="true" E9uitug
cacheRolesInCookie ="true"
cookieName =".ASPROLES"
cookieTimeout ="30"
cookiePath ="/"
cookieRequireSSL ="false"
cookieSlidingExpiration ="true"
cookieProtection ="All" >
< providers >
< add
name ="SqlProvider"
type ="System.Web.Security.SqlRoleProvider"
connectionStringName ="northWindConn"
applicationName ="northWind" />
</ providers >
</ roleManager >
</ system.web >
</ configuration >
.Net 2.0的MemberShip被设计为可以通地过一个数据库为多个应用程序提供MemberShip服务。不同的applicationName配置取得的资料是不同的,因此配置时需要注意前后提供的applicationName要一致。
完成了以上两步,就可以通过VS2005自带的ASP.NET配置工具来进行角色,用户等的管理了。
引用自: http://www.itug.cn/Procedures/Net/20071123/1796.htm