创建自定义角色mvc3

时间:2012-01-16 14:19:00

标签: c# .net asp.net-mvc-3

我正在创建一个MVC3应用程序,其中用户可以是管理员或数据条目,因此我需要利用MVC提供的用户身份验证中的角色。所以在我的注册表格中我添加了

                    <%=  
                           Html.DropDownList("RoleName", new SelectListItem[]{ 
                           new SelectListItem{ Text= "Admin", Value="admin"},
                           new SelectListItem{ Text= "Data Entry", Value="data"}
                    }) %>

我按如下方式修改了寄存器控制器:

if (createStatus == MembershipCreateStatus.Success)
                {
                    Roles.AddUserToRole(model.UserName, "RoleName");
                    FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
                    return RedirectToAction("Index", "Home");
                }

现在,当我注册时,我收到以下错误: 找不到角色。

谢谢...

1 个答案:

答案 0 :(得分:0)

查看Roles.AddUserToRole()方法here的定义。您正在为第二个参数硬编码“RoleName”,该参数应该是添加用户的角色。

您要做的是从DropDownList中检索所选值,并在Roles.AddUserToRole()方法调用中使用该字符串。