使用Parameters Web API进行自定义授权

时间:2017-04-07 08:24:09

标签: asp.net-mvc api authorize-attribute

有人可以告诉我如何在Customize AuthorizeAttribute中使用该参数吗?

像这样:

and

现在这是我的代码,我还不知道如何在这里添加参数。

[Authorize(Role="Admin,Supervisor")]

[Authorize(User="Me,You")]

[Authorize(Action="abc,def")]

1 个答案:

答案 0 :(得分:0)

由于您已扩展Authorize的默认实施,因此您需要使用[CustomAuthorize(Role="Admin,Supervisor")]。这将设置角色。然后,您可以直接在代码中访问Roles属性,因为它们包含在已继承的父AuthorizeAttribute中。

    public override void OnAuthorization(HttpActionContext actionContext)
    {
        var roles = Roles;
        if (AuthorizeRequest(actionContext))
        {

            return;

        }

        HandleUnauthorizedRequest(actionContext);
    }