如何在 pyramid + pyramid-beaker + beaker 中覆盖默认会话超时设置
我正在使用Pyramid框架来创建一个网页应用程序。然后,我用pyramid-beaker把Beaker整合进Pyramid的会话管理系统。
有两个因素会影响用户会话的持续时间:
- 会话cookie的超时时间
- 实际会话在磁盘、内存缓存、关系数据库等上的存活时间
目前,我的cookie设置是默认在浏览器关闭时删除。会话数据则设置为2小时后清除。这一切运行得非常好。
我现在想知道的是,如何把cookie的超时时间和会话的超时时间都改成30天或者其他任意的值。
2 个回答
1
我有一个解决方案。虽然有点老,但还是能用。
2
更改超时时间在beaker中是不支持的。如果你想让一个会话保持那么久,可能更好的办法是把它放到一个单独的cookie里。一个常见的例子就是登录时的“记住我”选项框。这可以帮助你跟踪用户是谁,但通常情况下,实际的会话不应该保持那么长时间,而是应该重新创建。