4

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

例如,当浏览器关闭时,必须刷新未经身份验证的用户会话,但是,经过身份验证的用户会话应该存在一个恒定的时间。

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

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

4

1 回答 1

0

您可以通过使用set_expiryon 方法来做到这一点request.session。该方法采用整数表示会话到期的秒数,adatetimetimedelta会话应到期的时间,整数 0 表示会话应在浏览器关闭时到期或None表示会话应回退到默认值超时策略。

您应该能够编写一个中间件来评估会话到期的标准,然后set_expiry在处理请求之前调用会话。

于 2014-02-13T18:00:16.480 回答