我想在我的控制器操作上使用[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")]
?
感谢。
答案 0 :(得分:5)
您仍然可以使用提供商。
var rolesProvider = (SimpleRoleProvider)Roles.Provider;
if (!rolesProvider.RoleExists("Admin"))
{
rolesProvider.CreateRole("Admin");
}
你使用它们的方式没有改变。你写的内容可以正常使用
[Authorize(Roles = "Admin, User")]