我应该如何存储Pyramid应用程序的登录信息?烧杯?

时间:2013-01-05 20:09:32

标签: python cookies pyramid beaker

我来自PHP世界,我刚开始学习Pyramid框架。目前我正在试图弄清楚什么是存储用户数据的最佳选择。

所以在PHP中,我编写了一个模型,该模型使用了带有cookie组合的php内置会话。如果用户选择在登录时选中“记住我”框,则只会使用Cookie。因此,当用户登录时,会话中包含的数据会使登录合法化。当会话到期时,将检查有效的cookie,这将重新创建会话并延长cookie有效的日期。

所以在金字塔中,我想做一些类似的事情,但可能更容易和更好。我现在对Beaker for Pyramid感兴趣: http://beaker.readthedocs.org/en/latest/

我的困境是,我应该使用哪种持久性方法?如果我要将Beaker仅用于会话,那么我认为我想要使用memcached或仅内存配置。如果我想添加持久性,我绝对想通过sqlalchemy使用mysql数据库,因为我讨厌用会话文件来混淆服务器。或者我可以首先使用加密的cookie,因此甚至可以消除大量工作,无论如何还需要使用cookie,因此无需在服务器上存储会话。

你建议我一起去做什么?

由于这个网站不打算成为主流的东西,而是高级客户端的工具,我不认为记住我的选项是非常必要的,我想我非常想在默认情况下使用它,因此应该我只是选择基于Beaker Cookies的Session?

在这种情况下,我的金字塔development.ini配置应该如何?

1 个答案:

答案 0 :(得分:0)

如果您想在会话中使用带有memcached的烧杯,您的配置应包含以下内容:

config.ini:

pyramid.includes =
    pyramid_tm
    pyramid_beaker

session.type = ext:memcached
session.url = url:11211
session.lock_dir = /tmp/memcached/lock

如果您愿意,可以使用Cookie。此外,您不需要使用memcached,并且可以在服务器或内存中本地存储文件。