(转) 建立自己的MemberShip数据库

本文详细介绍了如何手动创建并配置一个ASP.NET 2.0 Membership数据库,包括使用aspnet_regsql.exe工具生成数据库,以及在Web.config文件中配置连接字符串和相关设置,以实现与自定义数据库的无缝集成。
建立自己的MemberShip数据库

这两天看到PetShop4.0中使用了MemberShip,这些数据存放在MSPetShop4Services数据库中。跟默认生成的 AspNetDB.mdf一样,都有11个表。有aspnet_Applicationsaspnet_MemberShip, aspnet_Paths, aspnet_Profile, aspnet_Roles等等。
我们能不能自己手动生成一个这样的数据库呢?我们简单的把这些表导进去,就可以在Asp.net2.0中方便的使用它们吗?答案是不行,因为除了这些表之外,还有40多个存储过程。那我们怎样才能建立自己的MemberShip数据库呢?可以使用工具生成MemberShip表。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

建立数据库之后,需要对Web.config文件进行配置:

PetShop4.0中的配置)
<connectionStrings>

<!-- SQL connection string for Membership database -->

<add name="SQLMembershipConnString" connectionString="server=(local);user id=mspetshop;password=pass@word1;database=MSPetShop4Services;min pool size=4;max pool size=4;packet size=3072" providerName="System.Data.SqlClient"/>

</connectionStrings>

<system.web>

<membership defaultProvider="SQLMembershipProvider">

<providers>

<add name="SQLMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SQLMembershipConnString" applicationName=".NET Pet Shop 4.0" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed"/>

</providers>

</membership>

在这里,改动它的连接字符串就可以使用自己的MemberShip数据库了。

-----------------------------------------------------------------------------------------

续。。。。。

修改上面的配置文件,还是有莫名其妙的问题。Copy了Msdn上的一份配置(Roles ClassMembership.Providers Property)进行修改,终于OK了。下面是配置好的结果。

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

  <connectionStrings>

    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />

    <add name="TempConnectionString" connectionString="Data Source=AYO;Initial Catalog=Temp;User ID=sa"

      providerName="System.Data.SqlClient" />

  </connectionStrings>

  <system.web>

    <authentication mode="Forms" />

    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">

      <providers>

       

        <add name="SqlProvider"

          type="System.Web.Security.SqlMembershipProvider"

          connectionStringName="TempConnectionString"

          enablePasswordRetrieval="false"

          enablePasswordReset="true"

          requiresQuestionAndAnswer="true"

          passwordFormat="Hashed"

          applicationName="/" />

      </providers>

    </membership>

 

    <roleManager defaultProvider="SqlProvider"

    enabled="true"

    cacheRolesInCookie="true"

    cookieName=".ASPROLES"

    cookieTimeout="30"

    cookiePath="/"

    cookieRequireSSL="false"

    cookieSlidingExpiration="true"

    cookieProtection="All" >

      <providers>

        <add

          name="SqlProvider"

          type="System.Web.Security.SqlRoleProvider"

          connectionStringName="TempConnectionString"

          applicationName="SampleApplication" />

      </providers>

    </roleManager>

  </system.web>

</configuration>

转载于:https://www.cnblogs.com/windyliu/archive/2010/04/06/1705341.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值