Python Django登录后记住自定义和第三方cookie
我注意到,使用django.contrib.auth.login登录用户会删除以前设置的所有自定义和第三方cookie。这破坏了很多东西,比如我的Google Web Optimizer测试,它不再能够跟踪用户。在登录用户时,防止这种情况发生的最佳方法是什么Python Django登录后记住自定义和第三方cookie,python,django,cookies,django-authentication,Python,Django,Cookies,Django Authentication,我注意到,使用django.contrib.auth.login登录用户会删除以前设置的所有自定义和第三方cookie。这破坏了很多东西,比如我的Google Web Optimizer测试,它不再能够跟踪用户。在登录用户时,防止这种情况发生的最佳方法是什么 查看django/contrib/auth/\uuuuu init\uuuuu.py中的login()代码并没有显示出太多的可定制性,罪魁祸首似乎是linerequest.session.flush()。我的第一个想法是在调用login()
查看
django/contrib/auth/\uuuuu init\uuuuu.py
中的login()代码并没有显示出太多的可定制性,罪魁祸首似乎是linerequest.session.flush()
。我的第一个想法是在调用login()之前简单地复制request.COOKIES字典,然后在登录后将其复制回request,但我不确定要排除哪些Django COOKIES。您确定您的COOKIES确实在同一个域上吗
Two different domains
www.mysite.com
mysite.com
我从未让django处理过cookie,但我遇到过www与非www cookie的问题。我在会话代码中找不到任何与您的cookie相关的地方
flush()
和它调用的三个方法对cookie没有什么作用,中间件只调用response.set\u cookie()
。您确定它不在代码中的其他地方吗?您确定总是调用flush吗?我记得只有当会话中存在_auth_id时才会调用flush?出于安全原因,注销总是刷新会话()