首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SqlRoleProvider无法连接到数据库

SqlRoleProvider无法连接到数据库
EN

Stack Overflow用户
提问于 2010-07-06 21:07:02
回答 1查看 379关注 0票数 0

我有以下使用标准SqlRoleProvider的角色配置,但当我尝试在wweb site Admin工具中打开安全页面时,我得到一个错误:

代码语言:javascript
复制
  <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
    <providers>
      <remove name="AspNetSqlRoleProvider"/>
      <add name="AspNetSqlRoleProvider"
           type="System.Web.Security.SqlRoleProvider"
           connectionStringName="PoyntingInstallationConnectionString"
           applicationName="/" />
    </providers>
  </roleManager>

DB有所有的角色表等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-06 21:27:29

确保PoyntingInstallationConnectionString位于您的web.config中,配置正确,并指向包含您的表的数据库。

角色将是aspnet_Roles表中的条目,而不是数据库角色。并且没有默认角色,因此在第一次运行脚本时,该表应该为空。

编辑:您能提供有关如何创建auth DB的更多详细信息吗?也就是说,您是直接运行aspnet_regsql工具,还是单独生成和运行脚本?

编辑2: aspnet_regsql工具非常容易运行-它位于.NET Frameworkv2.0文件夹中。(默认位置C:\Windows\Microsoft.NET\Framework\v2.0.50727)

有一堆参数可以用来从命令行运行,或者如果你不带参数运行它,它将打开一个向导,引导你完成它。请注意,使用向导,您将获得对所有成员资格提供程序功能(配置文件、个性化、web事件...)的支持。即使你不打算使用它们。

我建议您运行它,然后将结果与现有数据库进行比较。是否有人运行该工具,然后将表复制到另一个数据库,而没有意识到还需要一堆其他东西?我刚刚尝试从命令行和向导运行该工具,它生成了所有的角色、过程等。

正确运行时,应该有一堆表(至少6个)、存储过程(几十个左右--我的是35个)和DB角色(至少6个),它们的名称以aspnet_开头,还有一些视图(至少5个),名称以vw_aspnet_开头。如果你遗漏了其中的任何一部分,提供者将无法工作。

我通常从命令行运行它,所以我只获得成员和角色的东西。这将减少相当多的噪音,但也是为什么我上面的数字有点模糊。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3186403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档