ASP.Net MVC 4ベータを置き換えるために、ASP.Net MVC 4 RCをインストールしました。既存のアプリケーションを実行しようとすると、AntiForgeryToken
が廃止されているというエラーメッセージが表示されます。これが私のコードです:
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
----更新---
ASP.Net MVC 4 RCでは、SaltプロパティがValidateAntiForgeryToken属性およびAntiForgeryToken htmlヘルパーで廃止されました。したがって、私のコードは次のようになります。
コントローラ:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
形:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
生成されたHTMLを見ると、AntiForgeryTokenは引き続き非表示フィールドを生成し、暗号化された値を提供します。私の行動もまだ機能します。しかし、暗号化プロセスで使用するキーを指定する機能を失いました。プロセスがどのように機能するかはよくわかりませんが、わかりませんが、アクションとフォームにソルト値を設定していました。アクションが投稿を受け入れるためには、値が一致する必要がありました。では、どのようにしてソルト値を設定しますか? AntiForgeryConfig AdditionalDataProviderと関係があると思いますが、AntiForgeryConfig AdditionalDataProviderの使用方法についてグーグル検索することはできません。助けてください。
ありがとう
saltパラメータの設定は不要であり、追加の保護を提供しなかったため、サポートを削除しました。
詳細については、 ValidateAntiForgeryToken のソルト値を選択する方法で私の応答を参照してください。