如何在 pyramid + pyramid-beaker + beaker 中覆盖默认会话超时设置

3 投票
2 回答
2438 浏览
提问于 2025-04-17 03:23

我正在使用Pyramid框架来创建一个网页应用程序。然后,我用pyramid-beaker把Beaker整合进Pyramid的会话管理系统。

有两个因素会影响用户会话的持续时间:

  1. 会话cookie的超时时间
  2. 实际会话在磁盘、内存缓存、关系数据库等上的存活时间

目前,我的cookie设置是默认在浏览器关闭时删除。会话数据则设置为2小时后清除。这一切运行得非常好。

我现在想知道的是,如何把cookie的超时时间和会话的超时时间都改成30天或者其他任意的值。

2 个回答

1

我有一个解决方案。虽然有点老,但还是能用。

2

更改超时时间在beaker中是不支持的。如果你想让一个会话保持那么久,可能更好的办法是把它放到一个单独的cookie里。一个常见的例子就是登录时的“记住我”选项框。这可以帮助你跟踪用户是谁,但通常情况下,实际的会话不应该保持那么长时间,而是应该重新创建。

撰写回答