为什么创建自定义AuthorizeAttribute时base.IsAuthorized总是返回false?

时间:2019-04-17 16:15:39

标签: c# asp.net-web-api asp.net-web-api2

此过滤器检查以确保传入的参数正确。它不像检查会话令牌那样进行安全检查。

我想保留所有现有的安全性/授权逻辑,并只花一点点时间来验证输入。

 public class ValidateMachineIdTokenAttribute : AuthorizeAttribute
    {
        protected override bool IsAuthorized(HttpActionContext actionContext)
        {
            var baseAuthorized = base.IsAuthorized(actionContext); // <-- always false
            CheckInput(actionContext); // throws exception if no good
            return true;
        }
       ...
   }

我可以忽略base.IsAuthorized,但是就像我说的那样,我想保持一切安全。

1 个答案:

答案 0 :(得分:0)

如果您不希望授权受到影响,则应改用ActionFilterAttribute