【发布时间】:2014-05-19 18:40:08
【问题描述】:
不知道这是否是 Django 特有的,但我的网站是我唯一遇到过这种情况的网站,而且我认为我没有对会话数据做任何特别的事情(只是使用老派数据库后端)。
当用户登录(在选项卡 A)并在同一域上打开一个新选项卡(选项卡 B)时,cookie 会转移到第二个选项卡。但是,如果用户单击选项卡 B 中的链接,然后刷新选项卡 A 或单击该选项卡中的链接,他会立即注销。
我多年来一直在谷歌上搜索这个问题,但没有运气,所以非常感谢任何人的帮助。如果这是一件非常基本的事情,我们深表歉意。
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
'bambu.sites.middleware.DomainRedirectMiddleware',
'nymbol.utils.middleware.RequireHTTPSMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'maintenancemode.middleware.MaintenanceModeMiddleware',
'bambu.analytics.middleware.AnalyticsMiddleware',
'bambu.enqueue.middleware.EnqueueMiddleware',
'bambu.minidetect.middleware.MiniDetectMiddleware',
'nymbol.utils.middleware.UserPlanMiddleware',
'nymbol.manager.middleware.APILegacyMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware'
)
-
bambu.sites.middleware.DomainRedirectMiddleware将访问者重定向到正确的域,因为该站点有许多别名域 -
nymbol.utils.middleware.RequireHTTPSMiddleware将某些 URL 的用户重定向到相同的 SSL 版本) -
maintenancemode.middleware.MaintenanceModeMiddleware在提交和推送后部署站点时显示 503 消息 -
bambu.analytics.middleware.AnalyticsMiddleware跨请求将分析 JavaScript 排入队列 -
bambu.enqueue.middleware.EnqueueMiddleware允许视图和模板标签加入 CSS 和 JavaScript -
bambu.minidetect.middleware.MiniDetectMiddleware检测浏览器是否移动 -
nymbol.utils.middleware.UserPlanMiddleware将用户当前使用的付款计划存储在request对象中(因为这控制了站点范围的权限) -
nymbol.manager.middleware.APILegacyMiddleware将一个特定 URL 中的 URL 模式更改为另一个(绝对与此问题无关)
【问题讨论】:
-
这当然不是一个常见的 Django 问题。它是否与您在选项卡 B 中单击删除 cookie 的特定链接有关?您是否尝试过使用其他浏览器时问题仍然存在?您可以发布您正在使用的中间件(
MIDDLEWARE_CLASSES在您的设置文件中)吗? -
谢谢@knbk;在上面添加了详细信息