セッション管理のバックエンドとしてビーカーを使用してピラミッド フレームワークを使用しており、署名付き Cookie 内に session_id を保存したいと考えています。session-id は実際の user_id に関連付けられており、関連付けのマッピングは redis などに保存されます。これを実現するために、以下の構成を使用できますか? ドキュメントは完全な実装を提供しておらず、安全でないセッション ファクトリを使用した例のみを示しています。
セッションの詳細に編集された私の構成ファイルは次のとおりです。
session.type = cookie
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = session_key
session.secret = as98&$Hh94
session.cookie_on_exception = true
これが私のもの__init__.py
です:
config = Configurator(settings=settings)
config.include('pyramid_jinja2')
config.include('pyramid_beaker')
config.include('.models')
config.include('.routes')
config.include('polatick.models')
config.scan()
return config.make_wsgi_app()
これを適切に行うために、ピラミッドの関数を忘れて覚えているだけですか?
私はプロセスが次のような単純なものに沿って進むことを考えていました:
if user_authenticates():
session_id = create_session_id()
redis.put_entry(session_id, user_id)
request.session['session_id'] = session_id
headers = remember(request, login)
return HTTPFound('/', headers=headers)
私はこのドキュメントに従っています:
http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/pylons/sessions.html