Pregunta

RESUMEN: Al navegar por un sitio web ASP.NET con el Explorador de Windows, las ventanas emergentes no " pedir prestado " la cookie de sesión de la ventana principal.

DETALLES:

Estoy trabajando en un sitio web ASP.NET (.NET 2.0). Yo uso FormsAuthentication. Es un requisito utilizar cookies para manejar la sesión.

En una página tengo un botón. Cuando el usuario hace clic, se abre una ventana emergente. La ventana emergente muestra una página ASPX que utiliza variables de sesión, previamente configuradas desde la ventana del navegador principal. He estado probando el sitio web con IE (6, 7, 8) y Firefox 2.0. En todos estos navegadores, la ventana emergente tiene acceso a la misma sesión que la ventana del navegador principal y todo funciona bien.

Ahora tengo un error generado por el cliente, que indica que la ventana emergente muestra un error. Mirando el archivo de registro, puedo ver que se trata de una excepción NullReferenceException en el momento en que la página emergente intenta acceder a las variables de la sesión. Hablando con el cliente, ¡dijo que abrió el sitio web principal en el Explorador de Windows!

Me las arreglé para recrear el problema en una máquina de prueba y vi que la ventana emergente está usando una nueva sesión.

¡La máquina debe tener instalado Win XP e IE6! Con IE7 el sitio web funciona bien.

¿Fue útil?

Solución

Mi sospecha aquí es que cuando se abre desde el Explorador de Windows (no que entiendo perfectamente a qué te refieres con esto), la cookie de sesión que se está devolviendo no se almacena en ningún lugar y, por lo tanto, no está disponible para que la ventana emergente se incluya con su petición No veo cómo puedes evitar esto. ¿No es posible decirle al cliente que este medio de acceso a la aplicación no es compatible?

Otros consejos

He visto el mismo problema con IE 8, los problemas no ocurren en Firefox, Google Chrome o IE 6. En mi caso, puedo ver que la sesión realmente está funcionando pero la autenticación termina, redirigiendo al usuario a la página de inicio de sesión nuevamente para que inicie sesión ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top