AzureにデプロイされているMVCアプリケーションにValidateAntiForgeryTokenを実装しています。
1)メインページに@ Html.AntiForgeryToken()を追加しました。
2)Jquery$.Postを使用してPostアクションのデータを送信しています。コードは次のとおりです。
`var token = $('[name=__RequestVerificationToken]').val();
var url = '/XX/YYYY/';
$.post(url, { __RequestVerificationToken: token,reportname: reportName},
function (data) { window.navigate(data.url) }
);`
トークンをサーバーに渡し、フィドラーで確認しました。CookieとHidden変数がサーバーに渡されます。
3)アクションを[HttpPost]と[ValidateAntiForgeryToken]に帰した
これは、AzureのDEV環境では完全に機能しますが、別の環境に移動すると失敗し、「必要な偽造防止トークンが提供されなかったか、無効でした」という例外がスローされます。
隠れた変数の値とCookie変数の値が異なることを確認しました。私の開発環境でも同じですが、開発環境では機能しますが、テストでは機能しません。この例外をトラブルシューティングする方法を提案してください。
構成は、DEVサイトとTESTazureサイトで同じです。