如何为会话设置pyramid_beaker&登录系统?

时间:2012-04-04 04:30:22

标签: python session login pyramid beaker

我正在尝试按照此处的说明(http://docs.pylonsproject.org/projects/pyramid_beaker/en/latest/),以便我可以设置会话/登录系统。说明书让我很困惑。究竟什么是“默认激活设置”?这是否意味着当我调用config.include('pyramid_beaker')时会话工厂已有配置,因此调用pyramid_beaker.BeakerSessionFactoryConfig()是不必要的?

使用pyramid_beaker安全登录/权限系统最简单的方法是什么?

1 个答案:

答案 0 :(得分:3)

Beaker是一个用于处理缓存和会话(即非持久性数据)的库。您可以劫持会话并使用它来存储用户是否已登录(request.session['user_id'] = some_id或通过pyramid.authentication.SessionAuthenticationPolicy)。这两个都只是在会话中而不是在其他cookie中存储/跟踪当前用户ID。但请注意,这与用于处理用户凭据并将其登录的工作流无关。

是的,config.include('pyramid_beaker')将通过您的INI设置自动为您配置缓存区域和会话工厂(这些设置记录在您提供的链接以及单独的烧杯文档中)。

围绕这个想法设置登录/权限系统的最简单方法是遵循金字塔文档中的wiki教程。它显示了如何使用AuthTktAuthenticationPolicy从SQLAlchemy登录用户,如果您认为有必要,可以使用SessionAuthenticationPolicy轻松替换用户。