在asp.net Membership中实现细粒度的运行时权限?

时间:2012-08-09 06:38:43

标签: c# asp.net-mvc-3 asp.net-membership user-permissions

是否有一种首选的方法可以在运行时修改细粒度访问?

ASP.net会员资格似乎不支持这一点。我想创建常量不可见的子角色,以便有一组隐藏的角色,如“_CanEditContent”和“_CanDeleteOthersContent”。检查将是[Authorize(Roles = SubRoles.CanEditUser)],它将检查用户是否具有_CanEditUser角色的角色。问题在于如何将角色分配给其他角色,以便在我们创建像“UserAdmin”这样的新角色时,我们如何为该新角色分配“_CanEditUser”角色?这似乎是不可能的。

我需要做的是能够在运行时创建角色并为新角色或现有角色添加自定义权限。我会使用[Authorize]和AJAX方法的自定义检查进行检查。我怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

确实,asp.net会员资格不支持这一点。您必须使用自己的授权属性推出自己的机制,这将使用有关用户(或角色)权限的信息。

您可以使用asp.net成员资格进行角色管理,然后以您想要的方式为角色分配权限,例如数据库。

相关问题