gpt4 book ai didi

azure - 当我使用 Roles 对象时,出现错误 "Could not find stored procedure ' dbo.aspnet_CheckSchemaVersion'"

转载 作者:行者123 更新时间:2023-12-02 08:08:42 25 4
gpt4 key购买 nike

所以,我一直在互联网上寻找解决方案。我做了很多研究,但这只让我更加迷失。我正在为 Azure 创建 MVC 5 站点,但在设置角色管理时遇到问题。

当我使用 Roles 对象时,出现错误“无法找到存储过程 'dbo.aspnet_CheckSchemaVersion'”,我发现 this链接,但我不知道它将如何应用于 Azure。

我的 web.config 文件目前是这样设置的。

<add name="RoleDB" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Techdb3.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

<roleManager enabled="true">
<providers>
<clear/>
<add connectionStringName="RoleDB"
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
applicationName="TechAndGames" />
</providers>
</roleManager>

最佳答案

对于 MVC 5,您需要删除 roleManager标签,我想。我正在使用 <roleManager>在我最新的 MVC 5 应用程序中,遇到了与您完全相同的错误。一旦我删除它,错误就消失了。我认为这是因为 MVC 使用了不同的角色管理方法。

其他一些事情:确保您的数据库中有正确的表设置。这些是您需要的表格:

  • _迁移历史
  • AspNet角色
  • AspNetUserClaims
  • AspNetUserLogins
  • AspNetUserRoles
  • AspNetUsers

您可能不需要所有这些,具体取决于您正在做什么。为了正确进行这些设置,我 (1) 使用 MVC 5 模板创建了一个新项目,(2) 在本地运行该项目,(3) 完成了网站上新用户的注册过程,(4) 查看了我的本地SQL server (LocalDb)\v11.0 并在那里创建了一个数据库,其中包含我上面提到的所有表。然后,我编写了这些表的脚本,并针对我的真实数据库运行脚本。

然后,在您的应用程序中您应该能够调用 User并访问类似 User.IsInRole("someRole"); 的方法.

关于azure - 当我使用 Roles 对象时,出现错误 "Could not find stored procedure ' dbo.aspnet_CheckSchemaVersion'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com