参照 http://docs.pylonsproject.org/projects/pyramid_beaker/en/latest/
1. 使用默认的session, 在ini文件中:
from pyramid.session import UnencryptedCookieSessionFactoryConfig my_session_factory = UnencryptedCookieSessionFactoryConfig('itsaseekreet') from pyramid.config import Configurator config = Configurator(session_factory = my_session_factory)
缺点:
- 这个session是存储在Cookie中的,安全性低。
- Cookie有大小限制
2. 使用Beaker
beaker session可以把session存储在服务器端文件,数据库,客户端加密Cookie中
配置文件修改:
pyramid.includes = pyramid_debugtoolbar
pyramid_tm
pyramid_beaker
# pyramid_beaker add-on settings
session.type = file
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = customerskey
session.secret = customerssecret
session.cookie_on_exception = true
__init__.py中:
# pyramid_beaker add-on session_factory = session_factory_from_settings(settings) config = Configurator( settings=settings, session_factory=session_factory )