ASP.NET 例程完全代码版(7)——2.0中实现自配置的成员角色管理库
2006-12-21 17:00
507 查看
ASP.NET 例程完全代码版(7)——2.0中实现自配置的成员角色管理库 作者: zyf0808 发表日期: 2006-05-12 10:01 文章属性: 原创 复制链接 |
在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 开发的朋友有所帮助。 |
相关文章推荐
- ASP.NET 例程完全代码版(7)——2.0中实现自配置的成员角色管理库
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 2 部分:实现
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 1 部分:安全和配置概述
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 1 部分:安全和配置概述
- 使用 IIS 进行 Microsoft ASP.NET 2.0 成员/角色管理,第 2 部分:实现
- 使用 IIS 进行 ASP.NET 2.0 成员/角色管理(2):实现
- [.NET 基于角色安全性验证] 之四:ASP.NET 2.0 成员资格和角色管理授权
- ASP.NET角色成员管理数据库配置
- 重新过一遍ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)
- asp.net成员资格与角色管理使用和配置
- ASP.NET 2.0角色及成员管理
- ASP.NET 2.0中的成员管理与角色管理
- asp.net 2.0 membership与成员角色配置
- ASP.NET 2.0角色及成员管理
- ASP.NET 例程完全代码版(5)——通过web.config配置数据库连接池
- ASP.NET 2.0角色及成员管理
- ASP.NET 2.0中的成员管理与角色管理 (续)
- ASP.NET 2.0中的成员管理与角色管理
- 温故知新ASP.NET 2.0(C#)(6) - Membership&RoleManager(成员资格和角色管理)
- ASP.NET 2.0中的成员管理与角色管理