Résumé
ASP.Net ne renvoie pas d'en- Set-Cookie
tête lors de l'utilisation d'IE 10. Cela signifie que, par exemple, vous ne pouvez pas vous connecter à un site ASP.Net en utilisant IE10 lors de l'utilisation de l'authentification par formulaire par exemple.
Détail
Nous testons actuellement l'une de nos applications Web héritées avec IE 10 [Aperçu 2].
Lorsque vous essayez de vous connecter à l'aide de l'authentification par formulaire, nous n'obtenons pas d'en- Set-Cookie
tête dans la réponse si l'agent utilisateur est celui d'IE 10. Nous avons essayé cela avec un site vierge .Net 2 et .Net 4.
Parce que nous ne pouvions pas / ne voulions pas le croire, nous avons même exécuté la requête HTTP suivante manuellement telnet
- après avoir utilisé tous les outils habituels - et avons obtenu la même réponse.
GET http://test.ourdomain.co.uk/ HTTP/1.1
Accept: */*
Host: test.ourdomain.co.uk
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Content-Length: 0
La requête HTTP ci-dessus renvoie non Set-Cookie
dans la réponse. Pourtant, si nous changeons simplement le User-Agent, Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)
cela fonctionne!
Quelqu'un d'autre peut-il reproduire cela? Je ne trouve aucun problème connu avec les cookies IE10 autre qu'un problème qui affecte des modèles d'URL non standard.
Correctif
Une fois que devio a publié la réponse d'origine, avec une solution de contournement, nullptr a confirmé qu'il existe désormais un correctif pour cela .
http://support.microsoft.com/kb/2600088
J'ai promu le correctif à la question principale car il est juste plus pratique pour une référence future, mais veuillez voter pour les utilisateurs mentionnés.
la source
Réponses:
Trouvé cette entrée sur MS Connect , le comportement est un bogue reconnu.
Solution de contournement suggérée (à partir de l'entrée):
la source
Le problème réside dans le fait que certaines instances IIS pensent que IE10 est un navigateur sans cookie (c'est-à-dire qu'il ne peut pas prendre en charge les cookies). Dans notre cas problématique, le serveur définissait le cookie d'authentification et le renvoyait au navigateur, mais ignorait ensuite le cookie lors des demandes suivantes.
La solution consiste soit à corriger les capacités du navigateur afin qu'il sache que IE10 peut faire des cookies (décrit dans une autre réponse sur cette page), soit à modifier le comportement par défaut pour le forcer à utiliser des cookies même s'il pense que le navigateur ne peut pas faire de cookies.
Nous venons d'ajouter ce qui suit à notre section formulaires dans web.config:
cookieless = "UseCookies"
la source
Un correctif est disponible pour ce problème [1].
1) http://support.microsoft.com/kb/26000881) http://support.microsoft.com/kb/2600217 (remplace la base de connaissances précédente)
En outre, [2] suggère que cela atteindra Windows Update en janvier 2012.
2) http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
la source
Merci pour l'aide. Cela a fonctionné non.
J'ai copié le fichier du site vers
C:\WINDOWS\microsoft.net\Framework\v2.0.50727\CONFIG\Browsers
Exécuter dans l'invite de commande
C:\WINDOWS\microsoft.net\Framework\v2.0.50727>aspnet_regbrowsers.exe -i
Redémarrez IIS.
Testé le site et il fonctionne sans aucune erreur.
Merci encore pour le feedback
la source
Une mise à jour pour la réponse nullptr.
J'ai essayé aujourd'hui de télécharger le Microsoft KB2600088. Après avoir reçu le lien par mail, j'ai cliqué dessus puis il m'a conduit à la page qui dit qu'il n'est plus disponible.
Essayez ceci: http://support.microsoft.com/kb/2600217
Ce lien remplace KB2600088 et KB2628838.
MIcrosoft .Net Framework 4.5 est également disponible dès maintenant.
la source
Installation des différents correctifs que tout le monde mentionne et pour quelque raison que ce soit, le problème n'a pas été résolu.
Installé .NET Framework 4.5 complet et le problème a disparu.
Vous n'avez pas à mettre à jour les projets vers la cible 4.5. Installez-le simplement sur le serveur.
la source