Asp.net web api Web API中每个操作调用的自定义授权

Asp.net web api Web API中每个操作调用的自定义授权,asp.net-web-api,authorization,Asp.net Web Api,Authorization,我需要授予用户调用确切操作的权限。每个权限规则还可以包含操作参数的验证规则: [CustomAuth] public MyController : ApiController { [ValidateAccess, ActionName("Myaction")] public void MyAction([MyTypeAccess] MyType myType) { } } 在我的逻辑中,我需要检查用户是否可以调用此操作,以及他是否可以使用传递的MyTyp

我需要授予用户调用确切操作的权限。每个权限规则还可以包含操作参数的验证规则:

[CustomAuth]
public MyController : ApiController
{
    [ValidateAccess, ActionName("Myaction")]    
    public void MyAction([MyTypeAccess] MyType myType)
    {
    }
}
在我的逻辑中,我需要检查用户是否可以调用此操作,以及他是否可以使用传递的MyType值调用此操作(自定义验证)。 目前,我看不到如何从custom AuthorizeAttribute获取属性,我看到了Castle拦截器的解决方案,我将其用于我的另一个目的(来自调用信息)。。
是否有实现此自定义授权的标准方法?

未在Web API中找到解决此问题的直接方法

在使用Castle拦截器时,我在所有控制器上添加了一个新的拦截器,这些控制器都支持auth。拦截器提供对调用的访问,您可以检索传递给控制器/操作的任何属性和值

动作上的Validation属性表示需要在此调用上应用验证例程,ActionName标识调用的类型(如有必要,将来将移动到自己的属性,因为旧版本的旧控制器中的动作名称可能不同)

如果需要验证动作参数,可以使用一组属性,这些属性标识参数类型和验证算法