[英]Python Django session returns “None”
tl; dr:Python新手,Django的会话在使用HTTPS时没有正确传播
我正在构建一个基本的Web服务,它依靠会话/ cookie来验证用户。
在第一次身份验证期间,我配置了这样的特定会话:
request.session['userSecureId'] = "blabla"
return HttpResponseRedirect('http://localhost/secure',context)
此时,django_session表中添加了一个新的会话密钥。 session_data
字段上的基本b64解码确认是否存在'userSecureId'
在我看来,我检查这个会话是否像这样存在:
if request.session.get('userSecureId'):
# do something
如果我在我的本地系统(普通HTTP)上尝试这个,它的效果很好。 所以我的下一步是在启用了SSL的远程服务器上运行它。 我在settings.py上配置了SESSION_COOKIE_SECURE = True
,但现在'userSecureId'返回的值始终为None。
这可能是一个新手问题,所以任何指针都会被赞赏=)
另外,如果我打印request.session.session_key
我能够成功检索会话密钥,这意味着Django正确检测到我的sessionid cookie,但无法解码session_value的内容
编辑 :我刚尝试访问我的远程系统上的Django(相同的配置),我面临同样的问题。 我不知道为什么我不能运行会话值。 但代码使用127.0.0.1 w / o问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.