我在 MVC5 (VS2013) 中使用授权/角色时遇到问题。
身份验证几乎是开箱即用的(也就是说,只需使用 Visual Studio 创建默认的 MVC 项目)。我将DefaultConnection
连接字符串更改为有效(但不存在)的数据库。然后我注册一个新用户并自动创建数据库,其中包含 和 之类的AspNetUsers
表AspNetRoles
。
但是,我似乎对角色无能为力。首先要做的似乎是使用 C# 代码添加一个角色,例如:
Roles.CreateRole("Admin");
我收到一条消息异常:
“角色管理器功能尚未启用。”
我在 web.config 中启用它:
<roleManager enabled="true"/>
现在得到异常:
'无法连接到 SQL Server 数据库。'
这过去很容易与. 一起使用System.Web.Security.SqlRoleProvider
,但不适用于 MVC5 默认提供的新提供程序。关于这方面有很多非常复杂的文章,但在我看来,它是如此重要和直接,以至于必须有一种简单的方法让它发挥作用。
非常感谢您的帮助。