首先,我一直在寻找有关这方面的信息,但都是关于 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
您知道为什么会出现这种行为吗?