Stu*_*unt 13 sql-server asp.net-mvc authorization asp.net-mvc-5 asp.net-identity
我在MVC 5中使用新的身份系统时遇到问题,我的目标是在Views上使用User.IsinRole("RoleName").例如:
@if(User.IsInRole("Administrator"))
{
<li>@Html.ActionLink("Admin", "Index", "Admin")</li>
}
Run Code Online (Sandbox Code Playgroud)
它位于主要布局页面中,该页面在应用程序启动时被点击.这样做,我收到以下错误:
"System.Web.dll中出现'System.Web.HttpException'类型的异常,但未在用户代码中处理
附加信息:无法连接到SQL Server数据库."
我已经搜索了高或低的解决方案,常见的解决方案是在控制器顶部包含"[InitializeSimpleMembership]"或在应用程序启动时手动初始化数据库连接.(使用WebSecurity.InitializeDatabaseConnection).MVC 5似乎都没有认识到这两种方法.
我还尝试通过使用Aspnet.Identity.UserManager确定角色来返回视图以使用IsAdmin布尔值填充ViewBag,从而创建一堆乱码.虽然这是有效的,但这并不是我觉得我应该做的事情.
可能值得注意,但我没有遇到访问后端User.IsInRole的这些问题,这肯定是一个初始化问题.
gri*_*urd 22
我遇到了同样的问题,但Stunt的答案对我不起作用.尝试了这个问题的答案,解决了这个问题.
对于懒惰,您可以尝试将其添加到您的web.config文件中:
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7469 次 |
| 最近记录: |