ASP .Net MVC获取未经请求的请求的装饰角色

时间:2015-06-17 23:40:34

标签: c# asp.net asp.net-mvc asp.net-mvc-4

在MVC中,我们使用AuthorizeAttribute来装饰动作。如果给定用户未获得特定操作的授权,则会调用HandleUnauthorizedRequest方法。我在名为CustomAuthorizeAttribute的自定义类中重写了此方法,该类继承自AuthorizeAttribute。在我重写的HandleUnauthorizedRequest方法的范围内,如何获得当前用户不属于他/她的所有角色?例如,如果我将我的操作装饰为[CustomAuthorize(Roles = "AreaUser")]并且我来到我的HandleUnauthorizedRequest我想知道用户不属于" AreaUser"这样我就可以在重定向的权限被拒绝页面上显示它。

1 个答案:

答案 0 :(得分:2)

AuthorizeAttribute有一个名为Roles的属性,您应该可以检查该属性以获取所需的信息。正如@EricFunkenbusch所提到的,你可以假设用户不属于这些角色。

https://msdn.microsoft.com/en-us/library/dd460323(v=vs.118).aspx