【发布时间】:2018-09-24 22:20:46
【问题描述】:
我最近向我的 django 网站(都在同一个应用下)添加了一些新的子域(例如 x.example.com),我希望用户在这些子域中保持登录状态。
根据Django docs,我可以简单地将SESSION_COOKIE_DOMAIN 设置为".example.com" 来执行此操作,但文档中提到了这个警告:
在生产站点上更新此设置时要小心。如果您更新此设置以在以前使用标准域 cookie 的站点上启用跨域 cookie,则现有用户 cookie 将设置为旧域。只要这些 cookie 持续存在,这可能会导致他们无法登录。
鉴于我目前使用的是标准域 cookie,这当然适用于我!但是,文档没有提供解决方案。
如何将SESSION_COOKIE_DOMAIN 切换为跨域而不破坏现有用户的会话(理想情况下,不强制他们退出)?
【问题讨论】:
-
@T.Tokic 我相信那里的答案似乎建议使用
SESSION_COOKIE_DOMAIN = ".example.com"。我知道我需要这样做;我的问题是关于如何在我现有用户“无法登录”的情况下切换到该设置,因为 django 文档提到会发生。