Wie teilen Sie Sitzungen zwischen Modulen in einer Google App Engine Python-Anwendung?

8

Ich versuche, eine Basis-App in Google App Engine mit zwei Modulen mithilfe von Google App Engine-Modulen () zu erstellen Ссылка ) und Sie teilen Sitzungsinformationen zwischen den Modulen:

Module:

  • Modul 1 - Login-Seite: Eine Basis-Seite mit einem Login-Formular. Wenn es ein gültiger Benutzer ist, erstelle ich eine Sitzung und dann wird der Benutzer zur Dashboard-Seite (Modul 2)
  • umgeleitet
  • Modul 2 - Dashboard-Seite: Eine Seite, auf der eine Nachricht angezeigt wird, wenn das Modul die Daten in der Sitzungsvariablen
  • lesen kann

Das Problem besteht darin, dass im Dashboard-Modul die auf der Anmeldeseite (Modul 1) erstellten Sitzungsdaten nicht existieren.

Ist es möglich, auf die Sitzungsdaten zwischen zwei oder mehr Modulen in Google App Engine zuzugreifen?

Quelle:

baseHandler.py

%Vor%

Modul 1 (Anmelden) main.py

%Vor%

Modul 2 (Dashboard) main.py

%Vor%

Jede Hilfe ist willkommen, tut uns leid, wenn etwas falsch geschrieben ist

    
Wilcho 17.07.2014, 18:49
quelle

1 Antwort

8

Standardmäßig verwendet webapp2_extra.sessions Cooki-basierte Sitzungen. Diese sind an eine bestimmte Domain gebunden. Ihre Module sind wahrscheinlich auf module1.yourapp.appspot.com und module2.yourapp.appspot.com (eine Vermutung). Das zweite Modul kann die vom ersten Modul gesetzten Cookies nicht sehen.

Versuchen Sie in Ihrer Konfiguration, die Domain für den Cookie festzulegen.

%Vor%

Die Dokumentation sagt:

%Vor%

aus: Ссылка

Oder Sie können auch eines der anderen Backends wie Memcache oder Datenspeicher verwenden. Dies wird bevorzugt, wenn Ihre Sitzungen vertrauliche Informationen enthalten.

    
SkyeC 18.07.2014, 06:41
quelle