本地安装的2个django应用程序在同一浏览器上无法正常工作,面临登录/注销问题

问题描述 投票:-1回答:1

我正在研究在端口上运行的2个Django应用程序 - 8001和8002.但问题是当我点击第二个应用程序上的任何链接时,第一个应用程序让我注销,当我登录到第一个应用程序时,第二个应用程序让我退出。

会话冲突吗?任何人都可以建议我如何解决这个问题?

python django session
1个回答
1
投票

是的,会话冲突。 Cookie不是port-specific,即在端口A上运行的服务器可以读取和写入由端口B上运行的服务器设置的cookie,如果两者都在同一个域上。

由于Django使用名为sessionid的名称作为会话cookie,你的django应用程序(我认为你的意思是项目?)都会覆盖这个cookie。

但是,Django允许您使用SESSION_COOKIE_NAME设置为会话cookie使用特定名称。因此,您可以更改一个项目的cookie名称。

SESSION_COOKIE_NAME = 'sessionid_project1'

您可能还想使用CSRF_COOKIE_NAME设置重命名csrf cookie以避免在那里发生冲突。

© www.soinside.com 2019 - 2024. All rights reserved.