gpt4 book ai didi

sql-server - Razor View 上的 MVC 5 IsInRole 用法 : Cannot connect to Database

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

我在使用 MVC 5 中的新身份系统时遇到问题,我的目标是在 View 上使用 User.IsinRole("RoleName")。例如:

@if(User.IsInRole("Administrator"))
{
<li>@Html.ActionLink("Admin", "Index", "Admin")</li>
}

它被放置在应用程序启动时点击的主布局页面中。执行此操作时,我收到以下错误:

“System.Web.dll 中发生了“System.Web.HttpException”类型的异常,但未在用户代码中进行处理

其他信息:无法连接到 SQL Server 数据库。”

我已经四处寻找解决方案,常见的解决方案是在 Controller 顶部包含“[InitializeSimpleMembership]”,或者在应用程序启动时手动初始化数据库连接。 (使用 WebSecurity.InitializeDatabaseConnection)。这两种方法似乎都不被 MVC 5 识别。

我还尝试过通过使用 Aspnet.Identity.UserManager 确定角色来返回 View 以使用 IsAdmin bool 值填充 ViewBag 时创建一堆困惑的代码来解决此问题。虽然这有效,但我觉得我不应该这样做。

可能值得注意,但我在后端访问 User.IsInRole 时没有遇到这些问题,这肯定是一个初始化问题。

最佳答案

我遇到了同样的问题,但是 Stunt 的答案对我不起作用。尝试了this question的答案这解决了问题。

对于懒惰的人,您可以尝试将其添加到您的 web.config 文件中:

 <system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>

关于sql-server - Razor View 上的 MVC 5 IsInRole 用法 : Cannot connect to Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19870397/

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