我有一个网站,其中包含针对不同类型用户的多个规则集。 其中一条规则(权限)取决于会话到期时间。
例如,当浏览器关闭时,必须刷新未经身份验证的用户会话,但经过身份验证的用户会话应该保持一段时间。
此外,对于经过身份验证的用户,当浏览器关闭时,会话中的某些键可能会被删除,但其他键应保持活动状态。
如何在Django中实现基于密钥的会话到期?
答案 0 :(得分:0)
您可以使用request.session
上的set_expiry
方法执行此操作。该方法使用一个整数表示会话到期的秒数,一个datetime
或timedelta
表示会话何时到期,整数0表示会话应该在浏览器关闭时间到期或{{ 1}}表示会话应该回退到默认的超时策略。
您应该能够编写一个中间件来评估会话过期的条件,然后在处理请求之前在会话上调用None
。