Symfony2 - 会话超时

时间:2013-09-15 17:09:42

标签: php symfony session-timeout

首先,我一直在寻找有关这方面的信息,但这完全是关于Symfony 1.x甚至更令人困惑......

环境

  • Symfony 2.3
  • FOSUserBundle +自定义用户实体

问题

在我正在开发的网站中,我希望用户会话在他们关闭浏览器或2小时后结束(=必须再次登录)。

Symfony2 documentation中,他们说使用config.yml的参数“framework.session.cookie_lifetime”设置默认超时,并且其默认值为0,这意味着会话在用户到期时到期关闭他的浏览器。

这些选项在我的配置文件中仍处于默认状态,但是当我打开一个会话然后关闭浏览器时,如果我重新打开它并转到我仍然登录的网站...这就是我开始的地方变得困惑......我试图将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

你知道为什么会出现这种行为吗?

1 个答案:

答案 0 :(得分:1)

如果您打开选项卡,通常浏览器不会结束会话 - 即使您重新启动浏览器也是如此。