【发布时间】:2016-12-02 22:23:48
【问题描述】:
我目前有一个系统,其中有一个用户表、一个角色表和一个用户角色关联表,其中一个用户可以关联到多个角色(如 Admin、BasicUser 等)。我能够根据这些角色授权操作方法。这是来自身份框架。
现在我想添加对权限的支持,以便操作方法也可以基于这些权限进行限制,而不仅仅是角色。例如,在控制器中,我可能有一个 HTTPPost 操作,只有具有“写入”权限的人才能成功执行。
我需要进行哪些更改才能将权限分配给角色?即,我想选择“Admin”角色拥有“Write”和“Read”权限,而“BasicUser”角色只会被分配“Read”权限。这样,管理员可以访问写入权限允许的任何方法,而基本用户则不能。
如果我要创建另一个名为“Privilege”的表以及该表和角色之间的关联表,以及在角色中设置权限的代码,我如何使用该权限作为过滤器?因此,例如,以下操作应该只允许由具有“写入”权限的角色的用户执行。
[Write]
public ActionResult Create()
{
return View();
}
谢谢。
【问题讨论】:
标签: asp.net asp.net-mvc authorization asp.net-identity privileges