在不活动20分钟后,会话应该在应用程序中过期。
我如何在 symfony2 中执行此操作。
答案 0 :(得分:1)
在session
部分下的config.yml
文件中设置framework
到期时间。
config.yml
framework:
secret: %secret%
charset: UTF-8
error_handler: null
csrf_protection:
enabled: true
router: { resource: "%kernel.root_dir%/config/routing.yml" }
validation: { enabled: true, annotations: true }
templating: { engines: ['twig'] } #assets_version: SomeVersionScheme
session:
default_locale: %locale%
lifetime: 3600
auto_start: true
将默认值为session: lifetime
的值更改为3600。
答案 1 :(得分:1)
原生会话存储使用Cookie。处理会话的另一个例子是将它们存储在数据库中。
Jayson的方法会导致会话在一小时后过期。您也可以随时强制注销用户:
$this->container->get('request')->getSession()->invalidate();
$this->container->get('security.context')->setToken();
注意:从Symfony 2.6开始,不推荐使用security.context服务并将其拆分为两个新服务:security.authorization_checker和security.token_storage。