2013-01-11 2 views
3

django를 사용하고 있습니다. xyz.com을 호스팅했습니다. 같은 웹 사이트의 일부인 abc.xyz.com하위 도메인 부모 도메인 세션을 읽을 수 있도록

이제 abc.xyz.com에서 xyz.com의 세션 정보를 읽으므로 적절하게 로그인 한 사용자를 치료할 수 있습니다.

SESSION_COOKIE_DOMAIN = ".xyz.com" 

또는

SESSION_COOKIE_DOMAIN = "xyz.com" 

은 그러나 그들 중 누구도 작동하지 -

나는 퍼팅 제안 답변을 읽었습니다. 어떻게 해결할 수 있습니까?

PS : 나는

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

트릭을 할해야한다, 나에 따르면

+2

흠, django 문서에 따라 : https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-domain -'SESSION_COOKIE_DOMAIN = ".xyz.com"이 효과가 있습니다. –

+1

쿠키를 설정하는 앱에서 SESSION_COOKIE_DOMAIN 설정을 올바르게 설정 하시겠습니까? xyz.com은 쿠키를 올바르게 설정해야 abc.xyz.com에서 쿠키를 읽을 수 있습니다. –

+0

'.xyz.com'이 작동합니다. 내가 일찍이 뭘했는지 모르겠다. – zubinmehta

답변

1
SESSION_COOKIE_DOMAIN = ".xyz.com" 

잘 작동합니다.

0

을 xyz.com/abc하는 abc.xyz.com에 요청을 가리 키도록 nginx를 사용하고 있습니다. 이것은 두 설치에 모두 추가되어야합니다.

여전히 작동하지 않으면 SECRET_KEY이 같아야합니다. 때문에 장고 그것을 사용하여 쿠키 데이터를 서명합니다. 이것은 해결 방법이 될 것입니다.

그러나 세션 공유는 아마도 좋은 생각이 아닙니다. 싱글 사인온 (single-sign-on)을 원한다면 django-cas와 같은 것을 볼 수 있습니다.이 기능을 사용하면 2 개의 개별 세션을 가질 수 있지만 사용자는 한 번만 로그인 할 수 있습니다.