私はしばらくの間、オーチャード モジュールで Ajax と一緒に AntiForgery オプションをうまく使用してきました。最近、デフォルトの ContentType = 'application/x-www-form-urlencoded; の使用から変更したいと考えています。charset=UTF-8' を JSON ペイロード (ContentType='application/JSON') に変換します。
これを行うとすぐに、ASP.NET によって例外がスローされ、「必要な偽造防止トークンが提供されなかったか、無効でした。」わかりましたが、JSON ペイロードを保持しながら __RequestVerificationToken を追加するにはどうすればよいでしょうか?
参考までに、私が使用しているコードは次のとおりです。
var config = {
url: url,
type: "POST",
data: data ,
dataType: "json",
contentType: "application/json; charset=utf-8"
};
$.ajax(config);
コントローラー (ここに到達する前に、「必要な偽造防止トークンが提供されなかったか、無効でした。」で爆発します):
[HttpPost]
public ActionResult Update(ShoppingCartItemVM[] items)
{
// do stuff
}
これは Orchard AntiForgery ラッパーまたは MVC AntiForgery 機能の制限ですか? それとも私は(再び)愚かですか?