我有一个自定义授权属性,仅在某些操作中需要,它检查请求标头中是否有自定义令牌。在数据库中检查令牌。检查数据库需要访问我想通过构造函数注入的服务。
我读到这篇文章的方法可以做到(here、here和here)是通过一个没有构造函数的过滤器并像这样注入依赖的过滤器:
kernel.BindFilter<MyAuthorizeFilter>(FilterScope.Controller, 0).WhenControllerHas<MyAuthorizeAttribute>();
但是,我无法使用 BindFilter 方法,因为我已经按照此处所述设置了 Ninject 。这是使用Ninject.Web.Common而不是Ninject MVC3,因为我读到 Ninject MVC3 不适用于 MVC4 RC。我还能怎么做呢?
我还读到我可以添加到 GlobalFilters.Filters - 但是我不希望它出现在每个操作中。
提前感谢您的任何答案。