私は 2 つのコントローラーを持っています。
AccountController : Controller //For accounts <-- MVC
ItemController : ApiController //For Items <-- WEB API
アカウント コントローラーは、すべての意図と目的において、アカウント コードのかなり標準的な実装です。唯一の大きな違いは、カスタム メンバーシップ プロバイダーを使用していることです。アカウント コントローラーには、もう 1 つのアクションもあります。
[Authorize]
public ActionResult Bleh(){ return View(); }
私が到達しようとした場合:
http://localhost/Account/Bleh
(予想どおり) ログイン ページにリダイレクトされ、ログイン後に Bleh ページに戻ります。すべて良い。問題は ItemController にあります。Authorize 属性を持つアクションもあります。
[Authorize]
public HttpResponseMessage PostItem(Item item) { /**/ }
ログインする前にこれにアクセスすると、401 - Unauthorized が返されますが、これも予想どおりですが、ログイン後も 401 が返されます。
構成要素が不足していますか? ルーティング?ね その他?
Web Api が MVC と同じ方法でフォーム認証を取得するという印象を受けました。MVC が機能しているため、認証が機能していることはわかっています。