2013-01-11 71 views
3

我正在使用django。我主辦了xyz.com。作爲同一網站的一部分,我有abc.xyz.com使子域讀取父域會話

現在我希望abc.xyz.com從xyz.com讀取會話信息,以便我可以相應地對待登錄用戶。

我看過這建議把答案 -

SESSION_COOKIE_DOMAIN = ".xyz.com" 

SESSION_COOKIE_DOMAIN = "xyz.com" 

但他們沒有工作。我該如何解決這個問題?

PS:我使用nginx的指向請求到abc.xyz.com到xyz.com/abc

+2

嗯,根據django文檔:https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-domain - 'SESSION_COOKIE_DOMAIN =「.xyz.com」'應該工作。 –

+1

您確定您在設置cookie的應用程序上正確設置了SESSION_COOKIE_DOMAIN設置嗎? xyz.com應該正確設置cookie,以便abc.xyz.com可以讀取它。 –

+0

好'.xyz.com'的作品。我不知道我早些時候做了什麼,導致它無法正常工作。 – zubinmehta

回答

1
SESSION_COOKIE_DOMAIN = ".xyz.com" 

工作正常。

0

據我,

SESSION_COOKIE_DOMAIN = "xyz.com" 
SESSION_COOKIE_NAME = "examplesessionid" 

應該做的伎倆。這應該被添加到兩個安裝。

如果仍然不起作用,我猜SECRET_KEY應該是一樣的。因爲,Django使用它來標記cookie數據。這將是一個解決方法。

但是,會話共享可能不是一個好主意。如果您想單點登錄,請查看django-cas之類的內容,它允許您有兩個單獨的會話,但用戶只能登錄一次。