0

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

例子:

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

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

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

上面的代码没有将角色添加到 Roles 表中。

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

UserProfile
webpages_Membership
webpages_OAuthMembership
webpages_Roles
webpages_UsersInRoles

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

谢谢。

4

1 回答 1

5

您仍然可以这样做,只需使用提供程序即可。

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

你使用它们的方式没有改变。你写的会很好用

 [Authorize(Roles = "Admin, User")]
于 2013-07-15T14:11:10.773 回答