GAESessionの値の操作について

29 views
Skip to first unread message

Yosuke Suzuki

unread,
May 28, 2012, 8:37:30 AM5/28/12
to kay-us...@googlegroups.com
スズキと申します。

kayのSession機能を使って、
セッション管理=ログイン機能を実装しています。

この際に、ある条件に合致したセッションは、設定で決めた値よりも、
セッションが有効な期間を短くしたいと思っています。

以下のように、開発環境で値の操作をしてみましたが、
開発環境のdatastore viewerを見る限り値は変更されていないようです。

from kay.sessions.models import GAESession

session_entity = GAESession.get_by_key_name("セッションのkey_name")
session_entity.expire_date = datetime.datetime(2012,5,28,21,28,00)
session_entity.put()

putまで特にエラーは出ないのですが、
セッションの値は、触れないようなっているということなのでしょうか?


--
--------------------------
Yosuke Suzuki

Takashi Matsuo

unread,
May 28, 2012, 10:06:02 AM5/28/12
to kay-us...@googlegroups.com
2012年5月28日 21:37 Yosuke Suzuki <yosuke...@gmail.com>:

コードを見る限り、さらに middleware の process_response で上書きされているのだと思います。
当面は GAESessionStore を継承したものを作って save_to_db あたりを override すると実現できそうです。

または session の data としてさらに期限を持つとか……これはちょっといけてないか。

標準でこの機能を搭載するならどんな設定方法が良いですかね?
ぱっと思いつく方法だと

from kay import sessions
sessions.set_cookie_age_override(3600)

としておくと、このリクエストに限って、保存時に 3600 を使ってくれるというのはどうでしょう。

--
Takashi Matsuo
matsuo....@gmail.com
Kay's daddy

>
>
> --
> --------------------------
> Yosuke Suzuki
>
> --
> このメールは Google グループのグループ「kay-users-ja」の登録者に送られています。
> このグループに投稿するには、kay-us...@googlegroups.com にメールを送信してください。
> このグループから退会するには、kay-users-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/kay-users-ja?hl=ja からこのグループにアクセスしてください。
>

Yosuke Suzuki

unread,
May 28, 2012, 9:17:46 PM5/28/12
to kay-us...@googlegroups.com
返信ありがとうございます。

>> kayのSession機能を使って、
> コードを見る限り、さらに middleware の process_response で上書きされているのだと思います。
> 当面は GAESessionStore を継承したものを作って save_to_db あたりを override すると実現できそうです。
ひとまず、これで実装してみようと思います。

> または session の data としてさらに期限を持つとか……これはちょっといけてないか。
>
> 標準でこの機能を搭載するならどんな設定方法が良いですかね?
> ぱっと思いつく方法だと
>
> from kay import sessions
> sessions.set_cookie_age_override(3600)
>
> としておくと、このリクエストに限って、保存時に 3600 を使ってくれるというのはどうでしょう。
私としてはこんな感じの機能があると助かります。


def index(request):
---何らかの条件に一致する場合---
request.session.set_cookie_age_override(3600)


会員制のサービスなどで、
属性に応じてセッションの期限を切りたい場合には
あるとうれしいのではないでしょうか?



>
>>
>>
>> --
>> --------------------------
>> Yosuke Suzuki
>>
>> --
>> このメールは Google グループのグループ「kay-users-ja」の登録者に送られています。
>> このグループに投稿するには、kay-us...@googlegroups.com にメールを送信してください。
>> このグループから退会するには、kay-users-ja...@googlegroups.com にメールを送信してください。
>> 詳細については、http://groups.google.com/group/kay-users-ja?hl=ja からこのグループにアクセスしてください。
>>
>
> --
> このメールは Google グループのグループ「kay-users-ja」の登録者に送られています。
> このグループに投稿するには、kay-us...@googlegroups.com にメールを送信してください。
> このグループから退会するには、kay-users-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/kay-users-ja?hl=ja からこのグループにアクセスしてください。
>



--
--------------------------
Yosuke Suzuki
Reply all
Reply to author
Forward
0 new messages