Acabo de instalar ASP.Net MVC 4 RC para reemplazar ASP.Net MVC 4 beta. Cuando trato de ejecutar una aplicación existente recibo un mensaje de error que dice que AntiForgeryToken
ha quedado obsoleto. Aquí está mi código:AntiForgeryToken obsoleto en ASP.Net MVC 4 RC
using (Html.BeginForm("", "", FormMethod.Post, new { id = "MonthElectionForm" }))
{
@Html.AntiForgeryToken("AddEditMonthElection")
}
---- ACTUALIZACIÓN ---
ASP.Net MVC 4 RC ha hecho la propiedad del atributo obsoleto Sal ValidateAntiForgeryToken y AntiForgeryToken ayuda HTML. Así pues, ahora mi código es el siguiente:
controlador:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult CreateCompany(CompanyDataEntryViewModel modelData)
{...}
formulario:
@using (Html.BeginForm("", "", FormMethod.Post, new { id = "CreateCompanyDataEntryForm" }))
{
@Html.AntiForgeryToken()
...
}
En cuanto a HTML generado, AntiForgeryToken todavía genera un campo oculto y proporciona un valor cifrado. Mi acción aún funciona también. Pero he perdido la capacidad de designar una clave para usar en el proceso de encriptación. No estoy muy seguro de cómo funciona el proceso, pero antes puedo decir que estaba estableciendo el valor de sal en la acción y en el formulario. Los valores tenían que coincidir para que la acción aceptara la publicación. Entonces, ¿cómo se establece el valor de sal ahora? Creo que tiene algo que ver con AntiForgeryConfig AdditionalDataProvider, pero no puedo encontrar nada en Google sobre cómo usar AntiForgeryConfig AdditionalDataProvider. Por favor ayuda.
Gracias
¿Aparece este mensaje de error detallado? "Este método está en desuso. En su lugar, use el método AntiForgeryToken(). Para especificar los datos personalizados que se incorporarán en el token, use la propiedad AntiForgeryConfig.AdditionalDataProvider estática." –
Sí, vi ese mensaje de error de detalle. ¿Cómo se usa la propiedad AntiForgeryConfig.AdditionalDataProvider? ¿Ya no podemos usar atributos en una acción como antes? No se muestra mucho cuando se busca en google la propiedad AntiForgeryConfig.AdditionalDataProvider. –