2011-01-05 3 views
1

私は何らかの不活動の後にユーザーをログアウトしたいと思います。この質問(Logging users out of a Django site after N minutes of inactivity)には、合理的な見解があります。djangoでは、idleの後でユーザーをログアウトするためにrequest.session.set_expiryがどのように使用されますか?

しかし、私はrequest.session.set_expiryとSESSION_COOKIE_AGEを区別することを理解したいと思います。前者は、活動に関係なく一定期間後にユーザーをログアウトするようです。これは、SESSION_SAVE_EVERY_REQUESTがFalseの場合、SESSION_COOKIE_AGEの動作と同じですか?

答えて

1

私が知る限り、request.session.set_expiryは、その特定のセッションの設定をSESSION_COOKIE_AGEよりも単純に上書きします。 SESSION_SAVE_EVERY_REQUEST = False(デフォルト)では、機能的な違いはありません。

両方の場合において、セッション活性はセッションが最後に変更されたときのオフに基づいているに(SESSION_SAVE_EVERY_REQUESTない限りは、それがすべてのリクエストに保存されている場合にTrue、あるので、それは有効リクエストごとに修正されます)

一例アプリケーションの特定のセクションのユーザーにセッションの有効期限が長くなるようにしたい場合は、そのアプリケーションに関連するビューでrequest.session.set_expiryにカスタム値を使用して、その特定のセクションを離れるときにrequest.session.set_expiry(SESSION_COOKIE_AGE)でリセットすることができます。

関連する問題