Php Symfony2-会话超时

Php Symfony2-会话超时,php,symfony,session-timeout,Php,Symfony,Session Timeout,首先,我一直在四处寻找有关这方面的信息,但都是关于Symfony 1.x的,甚至更令人困惑 环境 Symfony 2.3 FOSUserBundle+自定义用户实体 问题 在我正在开发的网站中,我希望用户会话在关闭浏览器时或2小时后结束(=必须再次登录) 在中,他们说默认超时是用config.yml的参数“framework.session.cookie_life”设置的,其默认值是0,这意味着当用户关闭浏览器时会话将过期 这些选项在我的配置文件中仍然是默认的,但是当我打开一个会话然后关闭浏

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

环境
  • Symfony 2.3
  • FOSUserBundle+自定义用户实体
问题 在我正在开发的网站中,我希望用户会话在关闭浏览器时或2小时后结束(=必须再次登录)

在中,他们说默认超时是用config.yml的参数“framework.session.cookie_life”设置的,其默认值是0,这意味着当用户关闭浏览器时会话将过期

这些选项在我的配置文件中仍然是默认的,但是当我打开一个会话然后关闭浏览器时,如果我重新打开它并转到我仍然登录的网站。。。所以这就是我开始感到困惑的地方。。。我试图强制cookie_的生存期值为0,但结果是一样的

设置了cookie_生存期选项的config.yml:

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

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

如果你保持选项卡打开,浏览器通常不会结束会话-即使你重新启动浏览器。

如果你保持选项卡打开,浏览器通常不会结束会话-即使你重新启动浏览器。

你的意思是,如果我的浏览器中只有一个选项卡打开,而我关闭了浏览器,它不会结束会话吗?如果我打开了多个选项卡,而我只是关闭了我网站上的一个选项卡,该怎么办。它应该结束会话吗?取决于浏览器以及重新启动时是否重新打开上一个会话的选项卡。我在Firefox中尝试了几个条件,会话从未结束。关闭选项卡和浏览器可以在Chrome上工作。我不喜欢事情不规则的时候……正如你所看到的,这是特定于浏览器的。我不会为这个费心的。我已经将会话cookie配置设置为默认值,并将设置为记住用户2小时。您好,我再次尝试在您提供的链接上设置“记住我”,但它不起作用。当我登录时,我可以在浏览器选项中看到Memberme cookie,它被设置为now+2小时(并且PHPSESSID仍然存在,并带有“会话生存期”),但如果我关闭浏览器并返回网站,我将不再登录。你的意思是,如果我的浏览器中只有一个选项卡打开,而我关闭浏览器,它将不会结束会话?如果我打开了多个选项卡,而我只是关闭了我网站上的一个选项卡,该怎么办。它应该结束会话吗?取决于浏览器以及重新启动时是否重新打开上一个会话的选项卡。我在Firefox中尝试了几个条件,会话从未结束。关闭选项卡和浏览器可以在Chrome上工作。我不喜欢事情不规则的时候……正如你所看到的,这是特定于浏览器的。我不会为这个费心的。我已经将会话cookie配置设置为默认值,并将设置为记住用户2小时。您好,我再次尝试在您提供的链接上设置“记住我”,但它不起作用。当我登录时,我可以在浏览器选项中看到REMEMBERME cookie,它被设置为now+2小时(PHPSESSID仍然存在,并带有“会话生存期”),但如果我关闭浏览器并返回网站,我将不再登录。