C# ASP.NETMVC为未经筛选的请求获取修饰的角色
在MVC中,我们使用。当给定用户未被授权执行特定操作时,它将调用方法。我在名为C# ASP.NETMVC为未经筛选的请求获取修饰的角色,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,在MVC中,我们使用。当给定用户未被授权执行特定操作时,它将调用方法。我在名为CustomAuthorizeAttribute的自定义类中重写了此方法,该类继承自AuthorizeAttribute。在我重写的HandleUnauthorizedRequest方法的范围内,如何获取当前用户未参与的、使其未经授权的所有角色?例如,如果我将我的操作修饰为[CustomAuthorize(Roles=“AreaUser”)]并且我来到我的HandleUnauthorizedRequest我想知道该用户
CustomAuthorizeAttribute
的自定义类中重写了此方法,该类继承自AuthorizeAttribute
。在我重写的HandleUnauthorizedRequest
方法的范围内,如何获取当前用户未参与的、使其未经授权的所有角色?例如,如果我将我的操作修饰为[CustomAuthorize(Roles=“AreaUser”)]
并且我来到我的HandleUnauthorizedRequest
我想知道该用户不是“AreaUser”的一部分这样我就可以在重定向的“权限被拒绝”页面上显示该属性。授权属性有一个名为角色
的属性,您应该能够检查该属性以获取所需的信息。正如@EricFunkenbusch所提到的,您可以假设该用户不在这些角色中
我错过了什么?你知道他们不是AreaUser的成员,因为你的属性硬编码“AreaUser”为允许的角色,因此如果你得到未经授权的角色,你就知道他们不是AreaUser的成员。好吧,我可以用一个或多个具有相同CustomAuthorize的不同角色来修饰多个操作。我想访问HandleUnauthorizedRequest中的角色列表。角色属性有什么问题吗?没问题,只是找到了,David也发了帖子。谢谢,当我进一步探索时,我才发现。