我正在开发基于金字塔框架的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__.py
:session_factory = session_factory_from_settings(settings)
:
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
我希望我能够清楚地解决问题。
答案 0 :(得分:0)
我会说这取决于你想做什么。如果您使用Beaker,会话身份验证工作正常,但我喜欢使用AuthTktAuthenticationPolicy进行额外的超时和重发选项,以及即使您清除会话也不会消失身份验证的事实。