Comment puis-je récupérer une session en utilisant uniquement son identifiant de session (SID)? J'utilise gae-sessions.Comment obtenir la session en cours avec seulement le SID?
mise à jour pour la réponse Underhill @ David:
je l'ai fait ce que vous suggérez, mais en mode débogage je suis arrivé ceci: Session: SID=None {} |
mais il a db_key
peuplé avec une chaîne.
Voici mon code:
upload.py
SID = self.request.get("SID")
if not SID:
return False
from app.models.user import User
user = User.get_current_user(SID)
user.py
def get_current_user(SID = None):
if SID:
session = Session(sid=SID)
else:
session = get_current_session()
if session.has_key('account.logged'):
return User.get(db.Key(session.get('user.key')))
else:
return False
et n'existe.
Et ceci est mon SID de mon cookie:
"mMumLZOCq5knTg9edaSjLD + p8xsSohAQSS9vyqpgDso = 1289155992_9c2c85c6931a7d133f7e1f0b9ae25502gAJ9cQB9cQEoVQ5hY2NvdW50LmxvZ2dlZHECiFUIdXNlci5rZXlxA1UjYWd0MGIzUjBlWE4zYjNKc1pISUxDeElFVlhObGNoaTNBUXdxBFULYWNjb3VudC5rZXlxBVUnYWd0MGIzUjBlWE4zYjNKc1pISU9DeElIUVdOamIzVnVkQmkyQVF3cQZVDWFjY291bnQuZW1haWxxB1UBdHEIdYZxCS4 ="
Je profite de biscuits, avec JavaScript et Flex, puis de l'envoyer dans une variable à Python.
consultez la mise à jour dans ma question. ne fonctionne toujours pas: s Je ne peux essayer que le cookie_only_threshold = 0 –
Après avoir fait 'save (persit_even_if_using_cookie = True)' la session devrait apparaître dans la banque de données. Pouvez-vous interroger manuellement le magasin de données pour voir si la session est là? (Il devrait être le seul si vous utilisez généralement des sessions cookie uniquement). Bon réglage de la pensée sale = Vrai (uniquement nécessaire si vous n'avez rien changé dans votre session - depuis que vous avez défini l'utilisateur.clé, vous n'avez pas besoin d'être sale). –
oui, je vérifie dans la visionneuse de banque de données et quitte. Je ne comprends vraiment pas pourquoi je ne peux toujours pas obtenir ma session par sid ..: s –