web-dev-qa-db-fra.com

AntiForgeryToken déconseillé dans ASP.Net MVC 4 RC

Je viens d'installer ASP.Net MVC 4 RC pour remplacer ASP.Net MVC 4 beta. Lorsque j'essaie d'exécuter une application existante, je reçois un message d'erreur indiquant que AntiForgeryToken est obsolète. Voici mon code:

using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
    @Html.AntiForgeryToken("AddEditMonthElection")
}

---- MISE À JOUR ---

ASP.Net MVC 4 RC a rendu la propriété Salt obsolète pour l'attribut ValidateAntiForgeryToken et l'AntiForgeryToken html helper. Donc, maintenant mon code ressemble à ceci:

manette:

        [HttpPost]
        [ValidateAntiForgeryToken]
        public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
       {...}

forme:

@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
    @Html.AntiForgeryToken()
...
}

En regardant le code HTML généré, AntiForgeryToken génère toujours un champ caché et fournit une valeur chiffrée. Mon action fonctionne toujours aussi. Mais j'ai perdu la possibilité de désigner une clé à utiliser dans le processus de cryptage. Je ne sais pas trop comment le processus fonctionne, mais avant de pouvoir dire que je définissais la valeur de sel sur l'action et sur le formulaire. Les valeurs devaient correspondre pour que l'action accepte le message. Alors, comment définissez-vous la valeur du sel maintenant? Je pense que cela a quelque chose à voir avec AntiForgeryConfig AdditionalDataProvider, mais je ne trouve rien sur Google sur la façon d'utiliser AntiForgeryConfig AdditionalDataProvider. Veuillez aider.

Merci

28
Tom Schreck

La définition du paramètre salt n'est pas nécessaire et n'a fourni aucune protection supplémentaire, nous avons donc supprimé la prise en charge.

Veuillez consulter ma réponse à Comment choisir une valeur de sel pour ValidateAntiForgeryToken pour plus d'informations.

43
Levi