そのため、[Authorize] タグでいくつかのヒントを見つけましたが、問題を解決するものは何もありません。
私のシナリオは、RestSharp を使用した統合テストでヒットしたい Web Api メソッドがあるというものです。ただし、RestSharp は呼び出しの結果ではなく、ログイン ページを取得しています。
[Authorize]
public Item GetItem([FromBody] int id)
{
return service.GetItem(id);
}
この製品はカスタム ログイン システムを使用しており、私が本当に望んでいるのは、統合テストの場合にのみ [Authorize] バッジを無効にする方法です。ただし、匿名ユーザーを許可するとバッジが「無効」になると読んだので、ソリューションには統合テストプロジェクトがあり、そのプロジェクトには App.config ファイルがあります。私が入れたそのファイルに:
<location>
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
しかし、これも機能していないようです。何が起こっているのか、なぜ機能しないのか、これを機能させるために何ができるのかについての説明をいただければ幸いです。
Thread.CurrentPrincipal を設定しようとしましたが、うまくいきませんでした (間違っていたのかもしれません。コードで「何か」を許可するように設定できますか?)。認証は、それがまったく役立つ場合、httpmodule で処理されます。