lionware/symfony-session-timeout

基于一定时间的不活动来使 Symfony 会话无效

v1.0.3 2020-01-08 09:30 UTC

This package is not auto-updated.

Last update: 2024-09-22 08:17:21 UTC


README

基于一定时间的不活动来使 Symfony 会话无效。

此方法不使用垃圾回收,如 https://symfony.com.cn/doc/current/components/http_foundation/session_configuration.html#session-idle-time-keep-alive 中建议的。这种方法更准确,且不依赖于垃圾回收参数来良好运行。

安装

在 composer.json 中添加 SymfonySessionTimeout

{
    "require": {
        "lionware/symfony-session-timeout": "*"
    }
}

在您的 app/AppKernel.php 中注册捆绑包

public function registerBundles()
{
    $bundles = array(
        // ...
        new Lionware\SymfonySessionTimeoutBundle\LionwareSymfonySessionTimeoutBundle()
    );
)

app/config/parameters.yml 中添加参数,并将值设置为您的首选过期时间(本例中设置为 1 小时)。

parameters:
    lionware_session_expiration_time: 3600

app/config/config.yml 中添加配置

lionware_symfony_session_timeout:
    session:
        expiration_time: "%lionware_session_expiration_time%"

注意

Cookie 过期

Cookie 的过期也意味着会话的过期,因此将其设置为相对较高的值或 0(对浏览器会话有效)是明智的。

# app/config/config.yml
framework:
    session:
        cookie_lifetime: 0