IE11 no envía cookie de sesión cuando se hace clic en un enlace dirigido a una nueva pestaña (en la primera solicitud)

StackOverflow https://stackoverflow.com//questions/21031602

Pregunta

Tengo algunos problemas para sujetar sesión en sesión al abrir una pestaña NUEVA INICIAL (objetivo _BLANK) de IE11.

Cuando cierro todas las instancias de IE11 y luego abre un navegador nuevo y navegue a la página web de prueba (predeterminado.aspx), la página almacena un valor en la sesión y muestra el ID de sesión en la página. Si actualizo la página, la identificación de la sesión permanece igual. La página tiene un enlace a sí mismo (predeterminado.aspx) con un objetivo de _blank. Si hago clic en este enlace, se abre una nueva pestaña, pero la identificación de la sesión es diferente. Si actualizo la ventana original, el ID de sesión ahora coincide con la nueva ventana.

<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
<% Session["StoredValue"]="Test"; %>

<div>SessionID: <%=Session.SessionID%></div>

<a href="/default.aspx" target="_blank">New Window</a>
<a href="http://www.google.com" target="_blank">3rd Party Window</a>

</body>
</html>

Parece que este problema solo ocurre para la primera ventana en el mismo dominio abierto en una nueva pestaña (he verificado el problema con TOTAL="_ BLANCO" y manteniendo presionado CTRL mientras hacía clic en el enlace).

  • Cuando veo el tráfico de galletas con Fiddler, puedo ver que el La cookie de la sesión se envía normalmente en la solicitud inicial de Predeterminado.aspx. Cuando haga clic en el enlace para abrir la página en una nueva pestaña La cookie de la sesión no se está enviando en los encabezados de solicitud.
  • Si reinicio el navegador, vaya a la página de prueba, abra una nueva pestaña manualmente y pega el destino de enlace en ella, se envía la cookie correctamente en los encabezados de solicitud y la sesión de la nueva pestaña coincide con la pestaña original como se esperaba.
  • Si reinicio el navegador, vaya a la página de prueba, abra Google de un Enlace dirigido a _Blank en la página de prueba, y luego haga clic en el enlace Apertura de la página de prueba en una nueva pestaña La cookie también se envía correctamente En los encabezados de solicitud y la sesión de la nueva ventana coinciden. La ventana original como se esperaba.

Creo que esto es un problema del lado del cliente, pero el sitio se ejecuta desde Windows Server Standard 2008 R2 SP 1 en un sitio web integrado 4.0 con .NET 4.51 instalado (también se intentó con solo 4.5 instalado).

El cliente es Windows 7 de 64 bits en ejecución IE11 (11.0.9600.16476). He verificado el problema en otras máquinas que ejecutan Windows 7 de IE11 y confirmó que no es un problema en IE10 de Windows 8 en modo de escritorio. Todo funciona como se espera en Chrome y Firefox.

He verificado el problema persiste incluso si yo:

  • Mover la seguridad de medio alto a medio
  • Deshabilitar el modo protegido
  • Cambiar la privacidad para aceptar todas las cookies
  • Agregue el sitio a la lista localizada de la intranet local o en los sitios de confianza Lista de sitios web
  • establece una política de privacidad compacta P3P en los encabezados de respuesta que indica que no se recopila ni se utiliza información.
  • estableció una política de privacidad compacta P3P en los encabezados de respuesta que normalmente se aceptarían para permitir las cookies de terceros dentro de un iframe en versiones anteriores de IE.
  • Cambiar el sitio web ASP.NET Session State Configuración de estado a COOKIESELESS="USOCOOKIES" o "FALSO" o elimine el atributo en conjunto (servidor de estado de ASP.NET).

¿Alguna idea? ¿Alguien más ha visto este problema o similar?

¿Fue útil?

Solución

Este es un error activo de acuerdo con Microsoft.Aparentemente, no hay una forma del lado del servidor para solucionar esto.

enlace al informe de errores

Otros consejos

No es una solución, sino una pista: Notamos un comportamiento similar y lo rastreamos a las solicitudes a raíz / browserconfig.xml, lo que hace que el usuario no esté autenticado.El servidor envió una nueva sesión de sesión porque Windows no estaba enviando la existente.Las solicitudes posteriores luego enviaron el nuevo valor de la cookie de la sesión.Cambiamos nuestro servidor para buscar esta solicitud y no establecer cookies de respuesta.

Esto no es una solución, pero:

Pruebe CLICK CLICK ENTRE .Si eso funciona para usted el 100% del tiempo (lo hizo por mí)

js: links with target='_blank' on ie remove defaultBehaviour and trigger middle click.

resolvió el problema.

El mismo problema que viene para mi inicio de sesión, pero lo intentamos resolverlo cambiando algún ajuste en IE11 u otros navegadores problemáticos.

goto Herramientas=> Opciones de Internet=> Privacidad Allí, haga clic en el botón Sitios.Añadir MyDomain.com y haga clic en Permitir el botón. Reinicie su navegador.

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