C# Web api授权筛选器未启动

C# Web api授权筛选器未启动,c#,asp.net-web-api,C#,Asp.net Web Api,我正在学习教程。并在自定义授权属性中添加了此代码。但此筛选器不起作用,未启动,断点未命中。当我在某些操作上使用它时,会调用操作,但不会调用此属性 public class RESTAuthorizeAttribute : AuthorizeAttribute { private const string _securityToken = "token"; public override void OnAuthorization(AuthorizationContext filt

我正在学习教程。并在自定义授权属性中添加了此代码。但此筛选器不起作用,未启动,断点未命中。当我在某些操作上使用它时,会调用操作,但不会调用此属性

public class RESTAuthorizeAttribute : AuthorizeAttribute
{
    private const string _securityToken = "token";

    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (Authorize(filterContext))
        {
            return;
        }

        HandleUnauthorizedRequest(filterContext);
    }

    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        base.HandleUnauthorizedRequest(filterContext);
    }

    private bool Authorize(AuthorizationContext actionContext)
    {
        try
        {
            HttpRequestBase request = actionContext.RequestContext.HttpContext.Request;
            string token = request.Params[_securityToken];

            return SecurityManager.IsTokenValid(token, CommonManager.GetIP(request), request.UserAgent);
        }
        catch (Exception)
        {
            return false;
        }
    }
}
采取行动:

  [RESTAuthorize]               //this donot get fired,bpoint not hit
        public IEnumerable<string> Get()//this fires and bpoint hit 
        {
            return new string[] { "value1", "value2" };
        }
[RESTAuthorize]//这不会被解雇,B点不会被击中
public IEnumerable Get()//此命令激发并点击
{
返回新字符串[]{“value1”,“value2”};
}

您应该添加用于将属性添加到控制器/操作的代码(以防万一)。尝试全局添加它-
config.Filters.add(new RESTAuthorizeAttribute())
WebApiConfig.cs
中,看起来其他人也有类似的问题,也许这个线程会有所帮助:asp.net站点上还有一些很好的授权和身份验证资源。我想说的是,通过在一个属性中同时执行这两个操作,您可以将它们混合在一起,但以下是链接:&@AjayAradhya是的,它工作了,但现在该属性正在调用每个控制器操作,无论我是否用属性装饰它,都可以通过其他方式解决它。您应该添加用于将属性添加到控制器/操作的代码(以防万一)。尝试全局添加它-
config.Filters.Add(new RESTAuthorizeAttribute())
WebApiConfig.cs
中,看起来其他人也有类似的问题,也许这个线程会有所帮助:asp.net网站上也有一些很好的授权和身份验证资源。我想说,你是通过在一个属性中同时使用这两个属性来混合它们,但下面是链接:&@AjayAradhya是的,但它确实有效现在,该属性正在调用每个控制器操作,无论我是否用属性装饰它,都可以通过其他方式解决它。