1

まず第一に、私はこれに関する情報を探し回っていましたが、それはすべて Symfony 1.x に関するものか、さらに紛らわしいものでした...

環境

  • シンフォニー 2.3
  • FOSUserBundle + カスタム ユーザー エンティティ

問題

私が開発している Web サイトでは、ユーザーがブラウザーを閉じたとき、または 2 時間後に、ユーザー セッションを終了 (= 再度ログインする必要がある) したいと考えています。

Symfony2のドキュメントでは、デフォルトのタイムアウトは config.yml のパラメータ「framework.session.cookie_lifetime」で設定され、そのデフォルト値は 0 であり、ユーザーがブラウザを閉じるとセッションが期限切れになると述べています。

これらのオプションは私の構成ファイルではまだデフォルトのままですが、セッションを開いてからブラウザーを閉じると、それを再度開いて Web サイトにアクセスすると、まだログインしています...だから、私は混乱し始めました。 .. cookie_lifetime の値を強制的に 0 にしてみましたが、同じです。

cookie_lifetime オプションが設定された config.yml:

framework:
    translator: {fallback: %locale%}
    secret: %secret%
    default_locale: "%locale%"
    trusted_proxies: ~
    session:
      cookie_lifetime: 0
    fragments: ~
    http_method_override: true

この動作の理由はわかりますか?

4

1 に答える 1

1

通常、タブを開いたままにしておくと、ブラウザーを再起動しても、ブラウザーはセッションを終了しません。

于 2013-09-15T18:33:40.953 に答える