복붙노트

[PYTHON] 세션 쿠키를 공유하기 위해 동일한 하위 도메인에서 별개의 장고 앱을 얻는 방법은 무엇입니까?

PYTHON

세션 쿠키를 공유하기 위해 동일한 하위 도메인에서 별개의 장고 앱을 얻는 방법은 무엇입니까?

같은 하위 도메인에 몇 개의 장고 응용 프로그램을 배포했습니다. 몇 명의 고급 사용자는 이러한 응용 프로그램간에 이동할 필요가 있습니다. 세션 쿠키가 장고에서 새로운 세션 ID를 수신 할 때마다 애플리케이션간에 바운스가 일어나는 것을 발견했습니다.

하나의 복잡한 작업 흐름을 제외하고는 장고 세션 테이블을 많이 사용하지 않습니다. 사용자가이 워크 플로에서 응용 프로그램간에 이동하면 세션이 손실되어 다시 시작해야합니다.

나는 장고 세션 코드를 파고 발견했다 :

각 요청의 세션에 대해 무결성 검사를 수행하는 데 사용됩니다. 무결성 검사가 실패하면 새 세션이 만들어집니다. 이것을 깨달았을 때, 나는 각 애플리케이션에서 비밀 키를 변경하여 무결성 검사가 통과하여 장고 세션을 공유 할 수 있다고 생각하면서 동일한 값을 사용했습니다. 그러나, 그것은 작동하지 않았다.

이것을 할 수있는 방법이 있습니까? 나는 다른 것을 놓치고 있니?

미리 감사드립니다.

해결법

  1. ==============================

    1.대신 두 앱에 대해 SESSION_COOKIE_NAME을 다른 값으로 설정하도록 권합니다. 사용자는 처음에는 두 번 로그인해야하지만 세션은 충돌하지 않습니다. 앱 A에 로그인 한 다음 앱 B에 로그인하고 A로 돌아 가면 A 세션이 계속 유지됩니다.

    대신 두 앱에 대해 SESSION_COOKIE_NAME을 다른 값으로 설정하도록 권합니다. 사용자는 처음에는 두 번 로그인해야하지만 세션은 충돌하지 않습니다. 앱 A에 로그인 한 다음 앱 B에 로그인하고 A로 돌아 가면 A 세션이 계속 유지됩니다.

    Django 인스턴스를 공유하는 것은 좋은 생각이 아닙니다. 어떤 종류의 싱글 사인온을 원한다면 django-cas와 같은 것을 살펴보십시오. 여전히 2 세션을 유지할 수 있지만 사용자는 한 번만 로그인 할 수 있습니다.

  2. ==============================

    2.Django 인스턴스를 공유하는 것은 좋은 생각이 아닐 것이라는 것에 동의합니다. 정말로 원한다면 다음과 같이 할 수 있습니다.

    Django 인스턴스를 공유하는 것은 좋은 생각이 아닐 것이라는 것에 동의합니다. 정말로 원한다면 다음과 같이 할 수 있습니다.

    내가 말했듯이, 나는이 모든 것을 실제로 시도하지 않았기 때문에 여전히 문제가있을 수 있습니다!

  3. from https://stackoverflow.com/questions/556907/how-to-get-distinct-django-apps-on-same-subdomain-to-share-session-cookie by cc-by-sa and MIT license