我正在构建一个基本的web服务,它依赖于会话/cookies来验证用户。在
在第一次身份验证期间,我配置如下特定会话:
request.session['userSecureId'] = "blabla"
return HttpResponseRedirect('http://localhost/secure',context)
此时,一个新的会话键已经添加到django_session表中。对session_data
字段的基本b64解码确认“userSecureId”的存在
在我看来,我会检查这个会话是否是这样存在的:
^{pr2}$如果我在我的本地系统(纯HTTP)上尝试这个,效果会很好。所以我的下一步是在启用SSL的远程服务器上运行它。我已经配置好了
SESSION_COOKIE_SECURE = True
在我的设置.py但是现在,'userSecureId'返回的值总是None。在
这可能是一个新手的问题,所以任何一个指针都会被感激=)
另外,如果我打印request.session.session_key
我就能够成功地检索会话密钥,这意味着Django正确地检测到我的sessionid cookie,但是不能解码session值的内容
编辑:我刚刚尝试在远程系统上访问Django(相同的配置),但我遇到了相同的问题。我不知道为什么我不能运行会话值。但是,代码使用127.0.0.1w/o问题工作
根据here和{a2}
要在HTTP和HTTPS之间共享会话(也可以跨域),您应该在设置中设置
SESSION_COOKIE_DOMAIN
。在相关问题 更多 >
编程相关推荐