現在、私はASP.NET MVCプロジェクトに取り組んでおり、特有のように見えるエラーが発生しました。ASP.NET MVC AntiForgeryTokenとキャッシング
ASP.NET MVCテンプレートフォームでは、常にAntiForgeryTokenを取得します(このため、これがベストプラクティスであると私に信じています)。しかし、AntiForgeryTokensはキャッシングでうまく機能していないようです。
たとえば、AntiForgeryTokenを含むフォームを使用してサイトを開き、ブラウザウィンドウを複製すると、フォームをポストするときに両方のウィンドウに全く同じAntiForgeryTokenが適用されます。キャッシュが無効になっている場合(ActionFilter NoCacheを介して、Disable browser cache for entire ASP.NET websiteを参照)、この問題は存在しません。
私の質問は次のようなものです:これはそうしているのでしょうか?問題を解決するためにキャッシュを無効にする以外に方法はありますか?
は特にデフォルトASP.NET MVCテンプレートがAntiForgeryTokensが含まれているが、キャッシュを無効にしない(したがって、上記のエラーに開かれている)という事実は、私の思ってしまいます。ありがとうございます!
コードと正確なエラーを掲載できますか? 'Html.AntiforgeryToken()'は毎回新しいトークンを生成するので、2つのブラウザウィンドウで異なる値を設定する必要があります。 – andreister
ブラウザが2番目のブラウザウィンドウに対してサーバにクエリを実行せず、 – chrischu