0
参考になるリンクがたくさんあります。しかし、残念ながら彼らは私のために働いていませんでした。だから私はここに投稿しています。問題は私のコントロールが "OnActionExecuting"に当たっていないことです。私がWebAPIを使って作業しているのは今回が初めてです。どこかで何かが見つからないと思います。助けてください!!Web APIでカスタムフィルタを実装する方法
マイAPIフィルタは、次のようになります。
public class ValidateCustomAntiForgeryTokenAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
public new void OnActionExecuted(HttpActionExecutedContext filterContext)
{
//removed for Breviety
}
public void OnActionExecuting(HttpActionExecutedContext request)
{
//removed for Breviety
}
}
私はStartup.cs上で私のフィルタを登録:
public class StartUp : System.Web.HttpApplication
{
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
//removed for Breveity
config.Filters.Add(new ValidateCustomAntiForgeryTokenAttribute());
}
}
そして、私のコントローラのいずれかにそれを使用して:
[CustomAuthorize]
[ValidateCustomAntiForgeryToken]
public class QuestionController : ApiController
{
}
を期待し、あなたはあなたのCustomAuthorize属性を過ぎてそれを作っている知っていますか? –
@AndrewHunter私は今気付いた。私は今それを試すことができたらいいなあと思う。しかし、自宅では自分のTFSにアクセスできない。明日のCustomAuthorizeを削除して試してみましょう。それが原因だと思いますか? –
@AlishaChaitaliは、そうかもしれない。すぐに間違って見えるものはありません。可能であれば、 'CustomAuthorize'が期待通りに動いていることを確認してください。それが面白いなら、[この認証フィルタ記事](http://www.dotnetcurry.com/aspnet-mvc/957/aspnet-mvc-authentication-filters)を見てください。私はそれが認可フィルタであると仮定しています。もしそれが通常のActionFilterとして設定されていれば、フィルタの実行順序に起因するいくつかの問題があると思います。 – JosephRT