1

asp.net MVC の @Html.AntiForgeryToken() は、このような非表示のテキスト ボックスを生成します

<input name="__RequestVerificationToken" type="hidden" value="9VYEYXQIIGVOBcPluxTIWOHeYoRlklCBh7RztWXJUWxFbPwIok2rVpeS_i1jfxdB1_n16BCV5qH9VsBhkMdZB1Ukb5g1" />

__RequestVerificationToken の名前を変更する方法はありますか?

ASP.Net MVC にさかのぼることができない名前に変更したいと思います

4

1 に答える 1

0

もちろん。Html ヘルパー ( ) の拡張メソッドthis HtmlHelperを同じ名前で作成し、カスタム ID を指定できる適切なオーバーロードだけを作成することをお勧めします。(すでにいくつかのオーバーロードが存在することに注意してください。そのため、"AntiForgeryTokenCustom(string id)" のような名前に変更するのが最善のオプションかもしれません。

次に、この拡張メソッド内で AntiForgeryToken を呼び出して HTML をインターセプトし、ID を変更します。

しかし、問題は、なぜあなたはそれをしたいのですか?このトークンのカスタム検証を行う予定はありますか? この「偽造防止」トークン インフラストラクチャは、この ID 名を想定しています ...

編集: ヘルパーをカスタマイズする場合は、トークンを処理するアクション フィルターもカスタマイズする必要があります。デフォルトのアクションファイラーは[ValidateAntiForgeryToken]、オーバーライドする必要があります。ここでいくつかのヒントを見つけることができます: http://haacked.com/archive/2011/10/10/preventing-csrf-with-ajax.aspx .

于 2013-03-07T06:45:54.420 に答える