AntiForgeryToken reprovado no ASP.Net MVC 4 RC
Acabei de instalar o ASP.Net MVC 4 RC para substituir o ASP.Net MVC 4 beta. Ao tentar executar um aplicativo existente, recebo uma mensagem de erro queAntiForgeryToken
foi reprovado. Aqui está meu código:
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- ATUALIZAÇÃO ---
O ASP.Net MVC 4 RC tornou a propriedade Salt obsoleta para o atributo ValidateAntiForgeryToken e o ajudante antiForgeryToken html. Então, agora meu código se parece com isso:
controlador:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
Formato:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
Observando o HTML gerado, o AntiForgeryToken ainda gera um campo oculto e fornece um valor criptografado. Minha ação ainda funciona também. Mas perdi a capacidade de designar uma chave para usar no processo de criptografia. Eu não tenho muita certeza de como o processo funciona, mas antes que eu possa dizer, eu estava definindo o valor de sal na ação e no formulário. Os valores precisavam corresponder para que a ação aceitasse a postagem. Então, como você define o valor de sal agora? Eu acho que tem algo a ver com AntiForgeryConfig AdditionalDataProvider, mas não consigo encontrar nada de googling sobre como usar o AntiForgeryConfig AdditionalDataProvider. Por favor ajude.
obrigado