zoukankan      html  css  js  c++  java
  • 让.Net2.0的Membership使用已存在的Sql Server2000/2005数据库

    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>

      接下来,配置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 />
            <add
              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"
         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配置工具来进行角色,用户等的管理了。

  • 相关阅读:
    原型,原型对象,原型链,构造函数,继承(一)
    暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统
    ANDROID自定义视图——onMeasure流程,MeasureSpec详解
    android 中发送短信
    VelocityTracker简介
    Android xml资源文件中@、@android:type、@*、?、@+含义和区别
    android:id="@+id/android:empty属性的用法举例
    Android ProgressBar详解以及自定义
    Android自定义进度条
    布局技巧:使用ViewStub
  • 原文地址:https://www.cnblogs.com/chorrysky/p/644860.html
Copyright © 2011-2022 走看看