设为首页 | 加入收藏 | 联系站长
Google
 | 星际争霸 | 星际争霸II | 暗黑破坏神
 | 魔兽争霸 | 英雄无敌  
 您现在的位置: 好技术学习网 >> 技术文章 >> ASP.NET技术 >> ASP.NET技术应用 >> 文章正文
相 关 文 章
解析.Net框架下的XML编程技…
VS.NET下web项目源代码管理
NUnit学习之VS.net 2005篇
在VS.NET 2005中体验clicko…
使用VS.NET 2005 Beta 2初次…
VS.NET 2002下水晶报表的安…
VS.Net中的水晶报表的应用
vs.net+c#程序快速开发数据…
VS.NET解决方案的版本兼容问…
当VS.NET2003遇上2005,WebS…
最 新 热 门
最 新 推 荐
精 彩 游 戏
移动能力强,防御强大,任何地方都可以建筑,隐形,多样性,船舶,科技树…
[星际补丁]1.14·1.13f·1.08b
[星际2]酷图 [星际2]人族视频
[人类]大法师  [兽族]暗影猎手
[精灵]恶魔猎手 [不死]死亡骑士
[资讯]魔兽资讯 [图库]魔兽酷图
[下载]魔兽下载 [壁纸]精美壁纸
暗黑破坏神入门 暗黑破坏神指引
[Hero5]宝物一览   英雄无敌
当前时间是:
ASP.NET2.0中实现自配置的成员角色管理库
作者:- 来源:虾虾技术网 时间:2008-2-17 15:09:56 『 字号:  』
 在ASP.NET 2.0 中,为我们提供了很好的成员即角色管理机制,可以方便地实现用户的注册及角色分配,对于基本的成员访问和角色控制进行了封装实现,但是,默认的情况下,这个用于提供成员即角色管理的数据库 aspnetdb 是要存储在 SQL Server 2005 的 Express 版本中的,下面通过建立个人站点的解决方案来讲述如何通过配置工具,实现 VS 2005 与 SQL Server 2000 的整合开发 。
  首先,安装好 VS 2005 后,如果 File-->New-->Web Site-->Personal Web Site Starter Kit 然后直接 RUN 的话,肯定会出现错误,提示 An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 。但是,VS 给我们提供了很方便的使用工具,可以在命令行下使用 aspnet_regsql.exe 来指定默认使用的数据库服务器。它会为我们自动在配置的数据库服务器下生成 aspnetdb 这个用来管理成员即角色的库,这个工具可以在命令行下使用,也提供了 UI ,可以方便配置应用程序使用的数据库。aspnet_regsql

  在使用这个 Starter Kits 的时候,可以把 Personal 的库通过它提供的脚本,存储在 SQL Server 2000 中,而不用使用 AttachDBFilename 的方式。具体可以通过 web.config 来配置,如下:
<connectionStrings>
    <add name="Personal" connectionString="Data Source=yourServer;Integrated Security=True;Initial Catalog=Personal" />
    <add name="SqlServices" connectionString="Data Source=yourServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
    <remove name="LocalSqlServer"/>
</connectionStrings>
    默认情况下,使用的连接是 machine.config 中定义的 LocalSqlServer ,你可以 remove 掉,同时,也不使用默认的 Membership & roles 的 Provider,也需要将 machine.config 中的默认 Provider 去掉。因为在其中,有如下的配置:
 <roleManager>
    <providers>
       <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </providers>
</roleManager>
因为我们已经 remove 掉了默认的 LocalSqlServer 连接字符串,如果不 remove 掉 AspNetSqlRoleProvider 的话,会提示 The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

具体的使用自定制的方式可以如下设置:
<system.web>
    <roleManager enabled="true" defaultProvider ="AspNetRoleProvider">
      <providers>
        <remove name="AspNetSqlRoleProvider" />
        <add name="AspNetRoleProvider" connectionStringName="SqlServices"
             type="System.Web.Security.SqlRoleProvider,System.Web, Version=2.0.0.0, Culture=neutral,    PublicKeyToken=b03f5f7f11d50a3a"
            applicationName="/" />
      </providers>
    </roleManager>
    <membership defaultProvider="AspNetMembershipProvider" userIsOnlineTimeWindow="20">
      <providers>
        <remove name="AspNetSqlMembershipProvider" />
        <add name="AspNetMembershipProvider"
            type="System.Web.Security.SqlMembershipProvider"
            connectionStringName="SqlServices"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="true"
            passwordFormat="Hashed"
            applicationName="/" />
      </providers>
    </membership>
</system.web>
   经过如此一番配置,你就可以使用 VS 2005 & SQL Server 2000 来实现成员访问和角色管理的开发了。呵呵,希望对刚介入 2.0 开发的朋友有所帮助。

  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【打印本文】【关闭窗口

    网站公告 | 关于本站 | 联系站长 | 设为首页 | 加入收藏 | 友情链接 | 版权申明 | 广告服务 | 网站地图 | 访客留言

    Copyright ©
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览
    | |
    本站大部分信息资源来源于网络,仅供学习|研究|探讨|收藏之用,版权归原作者所有!