在MVC中,我们使用AuthorizeAttribute来装饰动作。如果给定用户未获得特定操作的授权,则会调用HandleUnauthorizedRequest方法。我在名为CustomAuthorizeAttribute
的自定义类中重写了此方法,该类继承自AuthorizeAttribute
。在我重写的HandleUnauthorizedRequest
方法的范围内,如何获得当前用户不属于他/她的所有角色?例如,如果我将我的操作装饰为[CustomAuthorize(Roles = "AreaUser")]
并且我来到我的HandleUnauthorizedRequest
我想知道用户不属于" AreaUser"这样我就可以在重定向的权限被拒绝页面上显示它。
答案 0 :(得分:2)
AuthorizeAttribute
有一个名为Roles
的属性,您应该可以检查该属性以获取所需的信息。正如@EricFunkenbusch所提到的,你可以假设用户不属于这些角色。
https://msdn.microsoft.com/en-us/library/dd460323(v=vs.118).aspx