0

我正在尝试学习如何在测试 mvc 应用程序中使用 Sql Role Provider。我已经配置了 web.config 文件并正在连接到一个预先存在的 sql server 数据库(这意味着我不是创建它的人)。

        protected void Application_Start()
        {    
            if (Roles.RoleExists("Admin") == false)
            {
                Roles.CreateRole("Admin");
                Roles.AddUserToRole("DOMAIN\\username", "Admin");
            }
        }

此代码在 Roles.CreateRole 上失败Cannot insert the value NULL into column 'RoleId'。根据我的阅读,这个值应该是自动生成的。是这样吗?我需要将 RoleId 更改为 Is Identity,是吗?

4

2 回答 2

0

在 webconfig 文件中启用角色管理器。在您的项目 webconfig 文件中修改或创建以下代码,然后尝试相同

<system.web>
 <roleManager enabled="true" />
</system.web>
于 2014-10-31T14:14:17.740 回答
0

要了解 mvc5 中的身份,请尝试使用此示例非常清楚

创建一个空的 c# web 应用程序,然后下载

PM> Install-Package Microsoft.AspNet.Identity.Samples -Pre

数据库首先是代码,它是自动创建的,更改 webconfig 中的连接字符串以更改创建数据库的位置。

此示例包含有关用户和角色的所有功能以获取更多信息:

vs2013 中 mvc5 的示例不包含使用角色的所有功能。需要做更多的工作开始

http://typecastexception.com/post/2014/06/22/ASPNET-Identity-20-Customizing-Users-and-Roles.aspx

于 2014-10-30T16:40:57.920 回答