IE11 n'envoie pas de cookie de session lorsqu'un clic est effectué sur un lien ciblant un nouvel onglet (à la première demande)

Je suis un peu de mal à accrocher à la session lors de l'ouverture d'un premier nouvel onglet (target _blank) à partir de IE11.

Quand j'ai fermer toutes les instances de IE11, puis ouvrez un nouveau navigateur et accédez à la page web de test (valeur par défaut.aspx) de la page stocke une valeur dans la session et affiche l'ID de session sur la page. Si j'actualise la page l'ID de session reste le même. La page a un lien vers elle-même (la valeur par défaut.aspx) avec un objectif de _blank. Si je clique sur ce lien, un nouvel onglet est ouvert, mais l'ID de session est différente. Si je puis actualisez la fenêtre d'origine l'ID de session, qui correspond maintenant à la nouvelle fenêtre.

<%@ 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>

Il apparaît que ce problème ne se produit pour la première fenêtre sur le même domaine ouvert dans un nouvel onglet (j'ai vérifié le problème avec les deux target="_blank" et en maintenant la touche CTRL tout en cliquant sur le lien).

  • Quand je regarde le cookie de la circulation avec un violon, je peux voir que le
    cookie de session est envoyé habituellement dans la demande initiale de
    par défaut.aspx. Quand je clique sur le lien pour ouvrir la page dans un nouvel onglet
    le cookie de session n'est pas envoyé dans les en-têtes de requête.
  • Si je redémarre le navigateur, allez à la page de test, ouvrez un nouvel onglet
    manuellement et coller le lien de destination dans le cookie est envoyé
    correctement dans les en-têtes de requête et de la session à partir de l'onglet nouvelles
    correspond à l'onglet d'origine comme prévu.
  • Si je redémarre le navigateur, allez à la page de test, ouvrez google à partir d'un
    lien vers _blank dans la page de test, puis cliquez sur le lien
    l'ouverture de la page de test dans un nouvel onglet le cookie est également envoyé correctement
    dans les en-têtes de requête et de la session à partir de la nouvelle fenêtre correspond à
    la fenêtre d'origine comme prévu.

Je crois que de ce côté client en question, mais le site est en cours d'exécution à partir de Windows Server 2008 R2 Standard sp1 dans un 4.0 site web Intégré .NET 4.51 installé (également essayé avec seulement 4,5 installé).

Le client est Windows 7 64 bits exécutant IE11 (11.0.9600.16476). J'ai vérifié le problème sur d'autres ordinateurs exécutant Windows 7 à partir de IE11 et a confirmé qu'il n'est pas un problème dans IE10 à partir de Windows 8 en mode bureau. Tout fonctionne comme prévu dans Chrome et Firefox.

J'ai vérifié le problème persiste même si j':

  • Déplacer la sécurité de Moyen Moyen à Élevé
  • Désactiver Le Mode Protégé
  • Changement de confidentialité pour Accepter tous les Cookies
  • Ajouter le site soit de l'Intranet Local ou zone Sites de Confiance site web de la liste
  • Définir un protocole P3P compacte politique de confidentialité dans les en-têtes de réponse indiquant aucune information n'est collectée ou utilisée.
  • Définir un protocole P3P compacte politique de confidentialité dans les en-têtes de réponse qui serait généralement être acceptée pour permettre 3rd party cookies dans un iframe dans les dernières versions de IE.
  • Modifier le site web ASP.NET paramètres d'état de session pour cookieless="Utilisercookies" ou "faux" ou de supprimer l'attribut (ASP.NET le Serveur d'État).

Des idées? Quelqu'un d'autre a vu ce problème ou similaires?

source d'informationauteur user3179118