【用户资格和角色管理配置问题】

freeflying1222 2008-07-26 09:42:04
正在学习asp.net的用户资格和角色管理。
可是连最基本的配置都搞不定。
msdn和教材上都是说:
1、在“网站”菜单上单击“ASP.NET 配置”。
2、选择“安全”选项卡,单击指向“使用安全设置向导按部就班地配置安全性”的链接,再单击“下一步”。

可是我点击“安全”选项卡,老半天后出来的是:
选定的数据存储区出现问题,原因可能是服务器名称或凭据无效,或者权限不足。也可能是未启用角色管理器功能造成的。请单击下面的按钮,以重定向到可以选择新数据存储区的页。
下面的消息可能会有助于诊断问题: 无法连接到 SQL Server 数据库。

我想应该是没连接sql数据库,就跟着提示往下走,结果下一个页面提示:
在此页中可配置网站管理数据(如成员资格)的存储方式。您可以对站点的所有管理数据只使用一个提供程序,也可以为每种功能指定不同的提供程序。
应用程序当前被配置为使用提供程序: AspNetSqlProvider

……

我觉得是漏了一个步骤,但是哪一步呢?
请高手指点一下是怎么回事?

...全文
152 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
myhope88 2008-07-26
  • 打赏
  • 举报
回复
请问一下,你用的是什么数据库呀?sqlserver 2000,sql server 2005还是其他的呀
bradring 2008-07-26
  • 打赏
  • 举报
回复
必须配置web.config,因为你用的不是默认的数据库,必须配置web.config 中的<membership>节
freeflying1222 2008-07-26
  • 打赏
  • 举报
回复
还是不行
freeflying1222 2008-07-26
  • 打赏
  • 举报
回复
我用的是默认吧!系统自己就建了一个aspnetdb的数据库
我是一步一步按向导提示操作的
myhope88 2008-07-26
  • 打赏
  • 举报
回复
补充一下:如果是使用默认数据库的话,要配置一下iis能正确连接到你机子安装的数据库版本上
myhope88 2008-07-26
  • 打赏
  • 举报
回复
要看你是使用默认的数据库还是你自己添加的数据库呀
用aspnet_regsql先注册一下成员管理所需要的数据,如果是默认的话,就不用配置web.config了
freeflying1222 2008-07-26
  • 打赏
  • 举报
回复
aspnet_regsql.exe 和webcongfig配置 我也执行了,参照的网页:
http://www.cnblogs.com/pointdeng/archive/2008/03/06/1093841.html

还是不行!疯了
freeflying1222 2008-07-26
  • 打赏
  • 举报
回复
补充一下,我一直没配置过IIS,直接就用的“文件”方式,跟这个有没有关系?
myhope88 2008-07-26
  • 打赏
  • 举报
回复
来源:http://www.cnblogs.com/Klesh/archive/2006/07/20/455261.html

  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配置工具来进行角色,用户等的管理了
freeflying1222 2008-07-26
  • 打赏
  • 举报
回复
我用的sql 2000

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧