ASP.Net MVC 5 - 使用角色授权错误

Posted

技术标签:

【中文标题】ASP.Net MVC 5 - 使用角色授权错误【英文标题】:ASP.Net MVC 5 - Authorization using Roles error 【发布时间】:2013-12-21 18:11:51 【问题描述】:

我创建了一个 ASP.NET MVC 5 项目。在我使用的其中一个控制器中,

[授权(Roles = "Admin")]

用于访问索引操作,它应该只授权管理员角色的成员访问它。但是,当我运行我的应用程序时,我会收到错误消息,

找不到存储过程“dbo.aspnet_CheckSchemaVersion”

此时我应该提到我已经创建了一个管理员用户,他是管理员角色的成员。另外,当我使用

运行我的应用程序时

[授权(Users = "Admin")]

它工作正常,但这不是我想要的。我目前使用的是 VS 2013,我的数据库是 localDB。

谁能帮忙解决这个问题?

【问题讨论】:

这是一个全新的 MVC 5 项目吗?如果是这样,您能否更新所有软件包并重试?或者您是否更新了现有的 ASP MVC 项目? 这是一个全新的 MVC 5 项目,我所有的包都更新了。 该存储过程来自旧的会员提供程序。您是否使用旧的成员资格提供程序而不是新的 ASP.NET 身份?你的 web.config 是什么样的? 我有一个类似的问题,我的 [Authorize(Users="")] 工作但 [Authorize(Roles="")] 没有。它只是将我重定向到登录页面。 【参考方案1】:

我遇到了同样的问题。

打开您的解决方案

    右键单击您的解决方案和 nu-get 包管理器 搜索和查找 JQuery 库(虽然你的项目有,但要重新添加) 添加到解决方案中 清洁解决方案 重建解决方案

然后控件开始工作。

【讨论】:

以上是关于ASP.Net MVC 5 - 使用角色授权错误的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC 5 中的简单角色管理器和授权,无需使用 Identity(CustomRoleProvider)

MVC 3 ASP.NET 角色-授权属性

ASP.NET MVC 角色授权

使用 Azure AD 的 Asp.net core mvc 基于角色的授权

带有权限代码的 ASP.NET MVC 4 自定义授权属性(无角色)

ASP.NET MVC 表单身份验证 + 授权属性 + 简单角色