3

我正在开发一个基于金字塔框架的 python web 应用程序。我正在尝试向它添加会话身份验证。据我了解:

  • 用户可以登录/退出(需要安全性);用户数据保存在数据库中
  • 身份验证通过会话 ( request.session)处理

首先:会话身份验证是一个不错的选择还是有更好的选择?其次:我无法真正了解文档和示例。

到目前为止,我已经关注了http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/tutorials/wiki2/authorization.html#adding-login-and-logout-views我有一个登录/注销表格。但是,我authn_policy的是http://docs.pylonsproject.org/projects/pyramid/en/latest/api/authentication.html#pyramid.authentication.SessionAuthenticationPolicy

由于金字塔中的会话工厂不安全(请参阅http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/sessions.html),我使用 *pyramid_beaker* 代替。

配置是:在__init__.pysession_factory = session_factory_from_settings(settings)

在 .ini 文件中:

beaker.session.lock_dir = %(here)s/data/sessions/lock
beaker.session.type = ext:database
beaker.session.sa.url = mysql://user:pass@localhost:3306/db
beaker.session.table_name = user_session

我希望我能把我的问题说清楚。

4

1 回答 1

0

我会说这取决于你想做什么。如果您使用 Beaker,会话身份验证可以正常工作,但我喜欢使用 AuthTktAuthenticationPolicy 来获得额外的超时和重新发布选项,并且即使您清除会话,您的身份验证也不会消失。

于 2012-08-16T11:32:06.000 回答