【发布时间】:2013-05-07 23:19:38
【问题描述】:
我正在尝试设置对控制器上方法的默认访问权限,因此我在ApiController 上添加了[Authorize] 属性。
在大多数情况下,除非被 [AllowAnonymous] 属性覆盖,否则它可以正常工作。
现在我想在组合中添加另一个级别。对于我的默认授权方法,我希望它们需要特定的角色(例如管理员),因此我将控制器级别属性更新为[Authorize(roles="admin")]。对于少数例外,我不在乎他们是什么角色(只要经过身份验证就足够了)。
我认为我可以坚持在控制器级别设置 Authorize 属性并在单个方法级别覆盖它,但这似乎与[AllowAnonymous] 的工作方式不同。
对于如何在不必记住使用默认访问级别装饰每个新方法的情况下进行此操作有什么建议吗?像[Authorize(roles="*")] 这样的东西?即使我需要一个默认角色,每个用户都是AuthenticatedUsers的一部分,那也没问题。
【问题讨论】:
标签: c# asp.net-mvc controller asp.net-web-api authorization