webdevqa.jp.net

ASP.Net MVC 4 RCで廃止されたAntiForgeryToken

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の使用方法についてグーグル検索することはできません。助けてください。

ありがとう

28
Tom Schreck

saltパラメータの設定は不要であり、追加の保護を提供しなかったため、サポートを削除しました。

詳細については、 ValidateAntiForgeryToken のソルト値を選択する方法で私の応答を参照してください。

43
Levi