2013-05-02 78 views
0

我有两个用Python/Django编写的开发服务器 - 一个API服务器(它不仅仅是一个API服务器;它具有UI等),另一个是演示应用程序用于通过与API服务器进行通信来提供数据。我使用API​​服务器中的iframe调用了演示应用程序。 成功获得演示应用程序的响应后,API服务器的原始用户会话将丢失(应该有两个会话 - 一个来自API服务器的用户,一个来自演示应用程序和API服务器之间的通信)由于通过iframe调用另一个服务器导致Django会话丢失

任何想法发生了什么?

回答

1

如果您在同一台服务器上运行这两个服务器,则会话cookie可能会被覆盖,因为它们都预计有一个sessionid Cookie。如果sessionid不存在,则会生成一个新的应用程序,因此当您访问外部应用程序时,会得到一个sessionid cookie,并将其传递给iframe应用程序,该应用程序无法识别它并生成一个新应用程序。尝试给每个应用程序它自己的独特SESSION_COOKIE_NAME

+0

他们是两个服务器运行在两个不同的端口 – 2013-05-04 05:05:57

+0

我们谈论的是不同的服务器,我指的是服务应用程序的计算机,而不是django开发服务器。您在同一台计算机上同时运行两个开发服务器? – Ngenator 2013-05-04 07:05:26

+0

是的,他们在同一台计算机上 – 2013-05-06 17:26:28