我正在使用带有ssl重定向中间件的Django 1.1.1。
通过HTTPS创建的会话数据(身份验证等)在站点的HTTP部分不可用。
最好的方法是使其可用而无需将整个站点设置为HTTPS。
这是有意设计的,您无法轻易更改。
通过HTTPS发送的Cookie /身份验证在通过HTTP查看同一站点时不会由浏览器发送。您最好的解决方案可能是将用户从HTTPS页面重定向到设置身份验证Cookie的HTTP页面。
请记住,此未经身份验证的Cookie以明文形式通过网络发送,会使您的用户容易受到欺骗和重放攻击。这对于您的应用程序可能并不重要。
我一直有一个类似的问题。Django IRC上的用户iiie指向了我这个设置:
SESSION_COOKIE_DOMAIN
( https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-domain )将此选项设置为".domain.com"
使我能够在HTTP / HTTPS之间共享会话,以及跨域和主机/子域。 我可以想象有一种情况,其中一个人不希望两者都出现,但它暂时解决了我的问题。