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


    建立自己的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>

  • 相关阅读:
    redis导入导出工具redisdump,centos7安装使用
    mysql 锁表情况,处理笔记
    python语言
    pythonhello world
    常用单词
    Django课堂笔记 1
    JS之随机点名系统
    js之简易计算器
    JS之放大镜效果
    SQLServer索引漫谈
  • 原文地址:https://www.cnblogs.com/windyliu/p/1705341.html
Copyright © 2020-2023  润新知