代码改变世界

pyramid中session配置

2012-09-10 21:38  JustRun  阅读(1220)  评论(0编辑  收藏  举报
参照 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 
    )