【发布时间】:2014-09-11 04:58:24
【问题描述】:
我通常需要授权在 MVC5 中的操作内的服务调用中评估特定参数。例如,假设我的操作是public ActionResult Edit(string partnerName)。
今天,我总是通过评估if (!User.CanAccessPartnerModule(THIS_MODULE_ID, partnerName)) throw new UnauthorizedException();来处理这个问题
但是,我希望能够做这样的事情:
[Authorize(Roles = THIS_MODULE_ID)]
public ActionResult Edit([AuthorizePartnerModule(THIS_MODULE_ID)] string partnerName)
{
...
}
需要明确的是,1)如果按照我的设想实现,我认为 AuthorizeAttribute 是不必要的,2)不存在的是 AuthorizePartnerModuleAttribute。
是否有现成的属性或教程来说明如何实现?如果没有,这不是可取的吗?
【问题讨论】:
-
是的,这可以通过覆盖
Authorize属性来实现。如果明天之前您还没有得到答复,我将针对此特定问题发布一些代码。 -
@Shoe 谢谢...我不知道
AuthorizeAttribute应用于参数...
标签: asp.net-mvc asp.net-mvc-5 authorize-attribute