1

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

环境

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

问题

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

Symfony2 文档中,他们说默认超时是使用 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

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

4

1 回答 1

1

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

于 2013-09-15T18:33:40.953 回答