ASP.Net MVC SimpleMembershipProvider和使用角色

时间:2013-07-15 14:08:04

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

我想在我的控制器操作上使用[Authorize],只允许特定角色的选定人员访问控制器。

示例:

[Authorize(Roles = "Admin, User")]

ASP.Net 4之前,我可以添加这样的角色:

 if (!Roles.RoleExists("Admin"))
 {
      Roles.CreateRole("Admin");
 }

上述代码不会将角色添加到角色表中。

但是,现在我只有以下表格:

UserProfile
webpages_Membership
webpages_OAuthMembership
webpages_Roles
webpages_UsersInRoles

我获得了UserProfile表,但仍想使用Roles。我现在是否必须编写自己的查询以在上表中添加角色,以及如何使用角色,并让它们链接到控制器上的[Authorize(Roles = "Admin, User")]

感谢。

1 个答案:

答案 0 :(得分:5)

您仍然可以使用提供商。

 var rolesProvider = (SimpleRoleProvider)Roles.Provider;
 if (!rolesProvider.RoleExists("Admin"))
 {
     rolesProvider.CreateRole("Admin");
 }

你使用它们的方式没有改变。你写的内容可以正常使用

 [Authorize(Roles = "Admin, User")]