2011-06-25 10 views
2

私はオンラインで研究していますが、答えを見つけることができませんでした。 Symfony2では、config.ymlファイルを使ってセッションの有効期間を静的に設定できることを理解しています。symfony2でセッションライフタイムをプログラムで設定する

しかし、コードの特定の状況に基づいてセッションの有効期間を設定できる必要があります。プログラムでセッションの有効期間を設定することは可能ですか?

答えて

6

Symfony2では、セッションストレージコンテナの属性をオンザフライで変更することはできません。利用可能になった実際の実装インタフェースについては、https://github.com/symfony/HttpFoundation/blob/master/SessionStorage/SessionStorageInterface.phpを参照してください。値。

ただし、デフォルトでセッションクラスはsession_get_cookie_paramsメソッドを使用してセッションの有効期間を設定します。これらの値はsession_set_cookie_params(好ましくはセッションが初期化される前にコントローラでできるだけ早く呼び出すようにしてください)を呼び出して調整できます。それがあなたのために働くかどうか見てください。場合によっては

0

(例えば、フォームでCSRFの保護機能を備えたポスト要求にはない)、同様に使用することができるの移行:

$request->getSession()->migrate(); 

ドキュメントによると、「新しいセッションに現在のセッションを移行しますすべてのセッション属性を維持しながらID。 "

関連する問題