基于Django密钥的会话到期

时间:2011-07-20 08:08:30

标签: django session key django-sessions

我有一个网站,其中包含针对不同类型用户的多个规则集。 其中一条规则(权限)取决于会话到期时间。

例如,当浏览器关闭时,必须刷新未经身份验证的用户会话,但经过身份验证的用户会话应该保持一段时间。

此外,对于经过身份验证的用户,当浏览器关闭时,会话中的某些键可能会被删除,但其他键应保持活动状态。

如何在Django中实现基于密钥的会话到期?

1 个答案:

答案 0 :(得分:0)

您可以使用request.session上的set_expiry方法执行此操作。该方法使用一个整数表示会话到期的秒数,一个datetimetimedelta表示会话何时到期,整数0表示会话应该在浏览器关闭时间到期或{{ 1}}表示会话应该回退到默认的超时策略。

您应该能够编写一个中间件来评估会话过期的条件,然后在处理请求之前在会话上调用None