2017-03-26 13 views
2

djangoアプリでは、匿名ユーザーのセッションを、ユーザーがログインしたときにそのユーザーの新しいログインセッションに関連付けようとしています。そのユーザーがログインしている瞬間までそのユーザーのセッションキーを把握したいのですが。Django:ログイン時にユーザーの以前の匿名セッションキーを取得する

期限切れのセッションから以前の匿名の使用をすべて取得することはできません。彼らは、ログイン時点までのユーザアップのために使用されただけで、期限切れのSESSION_KEYにし、cycle_key()が呼び出されます。

私はHow to lookup django session for a particular user?と似たようなことをしていますが、これは私にアクティブなセッションキーを与えてくれるだけで、前のページにもアクセスしたいと思います。

答えて

1

あなたが持っている最高のオプションは、あなたのニーズに合わせて書き換えデフォルトSessionMiddlewareあるhttps://github.com/django/django/blob/master/django/contrib/sessions/middleware.py

は、クッキーが設定されている最後の部分を参照してください。

+1

私は) 'process一にキーを(もしあれば)(キャプチャし、このための私自身のミドルウェアを書いてしまった'とリクエストオブジェクトに追加し、その後、process_response 'でリクエスト・オブジェクトのキーに保存されたキーを比較() 'とそれに応じてそれを処理します。ありがとう! – seawolf

+0

@seawolf万が一、あなたのミドルウェアを共有するだろうか? – radzia2

+1

これは私がいない華麗な、思い付いたものですし、私はそれが私が欲しいまさにそれだか分からないが、それはトリックを行いますhttps://github.com/seawolf42/django-autometrics/blob/master/autometrics_nonrel/middlewareを。パイ – seawolf

関連する問題