我在django的SESSION_COOKIE_DOMAIN设置中看到了一些神秘的东西。
通常,当我将此设置为“.mydomain.net”时,它可以正常工作。但偶尔也不会设置cookie,因为当我登录时,我不会在会话中被记住,当我到达下一页时我会成为AnonymousUser。
在这些情况下,如果我更改了我的设置文件以使SESSION_COOKIE_DOMAIN现在为None或“”,则网站行为将恢复正常。如果我将SESSION_COOKIE_DOMAIN更改回mydomain,则问题会返回。
有什么想法吗?这可能是设置中的无声失败吗?或者它可能与我的服务器配置有关?或者我正在访问该网站的机器?
答案 0 :(得分:1)
最有可能的是,您最终会发送多个sessionid cookie。如果您有一个域名为“example.com”的sessionid cookie和另一个域名为“.example.com”的cookie,Django将只测试其中一个sessionid值。我不确定Django如何决定测试哪个sessionid值的有效性。
答案 1 :(得分:0)
在浏览器中检查您的Cookie(在FF,工具 - >选项 - >隐私 - >关于Cookie的内容),看看它们是否设置正确。搜索您的域名,看看您是否设置了sessionid
Cookie。
答案 2 :(得分:0)
这可能是保罗建议的浏览器问题。但是,我很想在Firefox中使用Firebug或Live HTTP Headers进行一些HTTP分析。它是否正在尝试正确设置cookie?