2012-01-25 17 views
8

Estoy usando Visual Studio 2010 SP1 en Windows 7 64bit dev box. Mi asp.net funciona bien cuando uso IIS en la caja, pero cuando cambio al uso de Visual Studio Development Server, obtengo una excepción "System.Web.HttpException: Imposible validar datos" en esta línea (en el evento Application_AuthenticateRequest en global.asax .cs):Error "System.Web.HttpException: no se puede validar datos" en VS Development Server pero no en IIS

FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); 

¿Por qué falla al usar el servidor web interno?

Respuesta

16

Intente eliminar sus cookies después de cambiar de servidor. Ambos servidores tienen su propia configuración y probablemente su propio decryption key con el que la cookie de autenticación de formularios se cifra y descifra. Por lo tanto, si todavía tiene la cookie cifrada por IIS, cambie el proyecto para usar el servidor de desarrollo incorporado y acceda al sitio, ese servidor no puede descifrar la cookie.

Puede evitar este problema si se pone la clave de descifrado en su web.config:

<machineKey decryptionKey="..." /> 
+0

Tengo un problema similar - Amablemente ayuda http://stackoverflow.com/questions/34653227/how-to-decrypt-the-cookie-inside-custom-url-rewrite-provider – codetoshare

0

Hay otra causa de este error. Si su entrada MachineKey en el archivo Web.config termina con

xmlns="" 

A continuación, también van a sufrir este error.

0

Usé el método de @Michiel van Oosterhout pero no funcionó. sin embargo, entonces agregué:

<authentication mode="Forms"> 
    <forms protection="Encryption" enableCrossAppRedirects="true"/> 
</authentication> 

Ahora funciona.

Cuestiones relacionadas