我最近在我的django网站上添加了一些新的子域名(例如x.example.com
)(所有这些都在同一个应用程序下),我希望用户能够在这些子域名中保持登录状态。< / p>
根据Django docs,我可以将SESSION_COOKIE_DOMAIN
设置为".example.com"
来执行此操作,但文档提及此警告:
在生产站点上更新此设置时要小心。如果更新此设置以在以前使用标准域cookie的站点上启用跨域cookie,则现有用户cookie将设置为旧域。这可能导致只要这些cookie持续存在就无法登录。
鉴于我目前正在使用标准域名Cookie,这当然适用于我!但是,文档没有解决方案。
如何在不弄乱现有用户的情况下将SESSION_COOKIE_DOMAIN
切换为跨域?会话(理想情况下,不强制他们退出)?
答案 0 :(得分:0)
要正常更改SESSION_COOKIE_DOMAIN
,而又不影响现有用户,可以将SESSION_COOKIE_NAME
更改为新名称。默认情况下,它设置为sessionid
。如果您将其设置为newsessionid
之类的其他名称,则所有现有用户都必须重新登录,因为新的cookie将不会出现在他们的请求中。
在Django文档SESSION_COOKIE_NAME中了解有关此内容的更多信息。