Question

RÉSUMÉ: lors de la navigation sur un site Web ASP.NET à l'aide de l'Explorateur Windows, les fenêtres contextuelles ne "empruntent" pas. le cookie de session de la fenêtre parente.

DÉTAILS:

Je travaille sur un site Web ASP.NET (.NET 2.0). J'utilise FormsAuthentication. L'utilisation de cookies pour gérer la session est obligatoire.

Sur une page, j'ai un bouton. Lorsque l'utilisateur clique dessus, une fenêtre contextuelle s'ouvre. La fenêtre contextuelle affiche une page ASPX utilisant des variables de session, précédemment définies à partir de la fenêtre du navigateur parent. J'ai testé le site Web avec IE (6, 7, 8) et Firefox 2.0. Sur tous ces navigateurs, la fenêtre contextuelle a accès à la même session que la fenêtre du navigateur parent et tout fonctionne correctement.

J'ai maintenant un bogue soulevé par le client, indiquant que la fenêtre contextuelle affiche une erreur. En regardant le fichier journal, je peux voir qu'il s'agit d'une exception NullReferenceException au moment où la page contextuelle tente d'accéder aux variables de session. En parlant avec le client, il a déclaré avoir ouvert le site Web principal dans l'explorateur Windows !!!

J'ai réussi à recréer le problème sur une machine de test et j'ai constaté que le popup utilise une nouvelle session.

La machine doit avoir Win XP un IE6 installé! Avec IE7, le site Web fonctionne bien.

Était-ce utile?

La solution

Je soupçonne ici que lorsqu’il est ouvert à partir de l’explorateur Windows (ce n’est pas que je comprenne parfaitement ce que vous entendez par là), le cookie de session qui est renvoyé n’est stocké nulle part et n’est donc pas disponible pour être inclus dans la fenêtre contextuelle. sa demande. Je ne vois pas comment vous pouvez vous en sortir. N'est-il pas possible d'indiquer au client que ce moyen d'accéder à l'application n'est pas pris en charge?

Autres conseils

J'ai vu le même problème avec IE 8, les problèmes ne se produisent pas dans Firefox, Google Chrome ou IE 6. Dans mon cas, je peux voir que la session fonctionne réellement, car l'authentification a pour effet de rediriger l'utilisateur vers la page de connexion afin que celui-ci puisse se connecter ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top