2011-01-18 5 views
5

Les sessions fonctionnent parfaitement dans tous les autres navigateurs que j'ai testés.Les sessions Django ne fonctionnent pas dans Internet Explorer

Si je tente d'obtenir l'identifiant de session avec sessionid = request.COOKIES['sessionid'], je reçois cette erreur: KeyError: 'sessionid'

C'est ce que j'ai dans mon settings.py:

CACHE_BACKEND = 'memcached://127.0.0.1:11211/' 
SESSION_COOKIE_DOMAIN = '.vb.is' 
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' 

Sites sont vb.is, fiskifrettir .vb.is et hestabladid.vb.is

alt text

configuration du serveur est: apache2 (mod_wsgi) et nginx

+0

Les cookies sont-ils activés dans ce navigateur? –

+0

Oui, personne ne peut se connecter avec IE. – demux

+0

Exécutez ceci: print request.session.session_key. Et jetez un oeil si le sessionid est défini ou non. – zsong

Répondre

4

La définition d'un cookie sur XX.XX ne fonctionnera pas en général. Voir Q # 6 ici: http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx et voir http://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet-explorer.aspx.

Vous pouvez éviter le problème en définissant le cookie avec domain = WWW.vb.is à la place.

+0

Je suppose que c'est pour empêcher les sites de configurer des cookies pour ".co.uk" et aime. –

+0

la définition du cookie pour www.vb.is n'aidera pas puisque j'ai besoin d'accéder à ce cookie à partir de secure.vb.is pour que mon installation actuelle fonctionne. Donc, ce que vous dites, c'est que je ne peux pas avoir de sessions persistantes entre domaines ... – demux

Questions connexes