que estoy usando ELMAH para controlar los errores en mis sitios MVC y me he dado cuenta en el último par de semanas que estoy recibiendo algunos CryptographicExceptions lanzados. El mensaje es:ASP.MVC antiforgery errores de tokens criptográficos y
System.Security.Cryptography.CryptographicException: el relleno no es válido y no se puede eliminar.
System.Web.Mvc.HttpAntiForgeryException: A requerido contador anti-falsificación no se suministra o no es válida. ---> System.Web.HttpException: la validación de viewstate MAC falló. Si esta aplicación está alojada en un clúster Web Farm o , asegúrese de que la configuración especifique el mismo algoritmo validationKey y validación . AutoGenerate no se puede usar en un clúster. --->
La aplicación no se está ejecutando en un clúster y parece que no puedo reproducir estos errores. Parecen solicitudes válidas, no una publicación hecha a mano, y contienen la cookie __RequestVerificationToken. Tengo el ayudante de HTML requerido en la página, dentro del formulario (mi formulario de inicio de sesión).
no he tenido ninguna queja de los usuarios, sin embargo, así que estoy asumiendo que con el tiempo funciona para quien está tratando de iniciar sesión, pero me quedo preguntando por qué esto podría estar sucediendo.
que alguien más vea este comportamiento o tiene alguna idea sobre cómo diagnosticar la excepción - como he dicho, no puedo conseguir que falle. Eliminar la cookie en FF genera un error diferente. Modificar la cookie (cambiar o eliminar el contenido) también genera un error diferente, al igual que la modificación del contenido de la entrada del token oculto en la página.
machineKey era la solución correcta. –
Experiencia similar: mi blog comenzó a fallar intermitentemente después de migrarlo a ASP.NET MVC 2.Se agregó machineKey y el problema desapareció. –