扩展AuthorizeAttribute类以支持基于角色和基于访问的控制

时间:2013-12-18 07:50:16

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

我有一个MVC 3应用程序,它基于角色访问,我使用asp.net成员资格的角色,它可以非常顺利地处理所有事情。

现在,我想在我的应用程序中引入基于访问权限的方式,使其能够与早期角色一起使用,以及使用基于访问的新方法。

我在枚举中列出了现有角色,如果用户的角色在该枚举中,则现有授权应该有效。但是如果枚举中不存在用户角色,那么我的新逻辑应检查访问权限。

通常我的控制器方法如下:

[CustomAuthorize(Roles=Roles.Role1,Roles.Role2, Access="CanDoThis")]
void MethodName(parameters)
{
 //Some code.
}

现在,如果当前用户有Role1或Role2,那么他应该获得访问权限,如果没有,那么他的角色(无论可能是什么)应该具有“CanDoThis”权限。

我寻找解决方案并找到了一个近似解决方案Here,但它仅回答了第二部分,而不是第一部分的回答。

即使不是确切的解决方案,但指向该方向的指针也会有所帮助。

0 个答案:

没有答案