在15分钟不活动之后,会话应该在symfony框架中的应用程序中过期

时间:2015-05-12 13:39:15

标签: php symfony

在15分钟不活动后,会话应该在symfony中的应用程序中过期。

到目前为止我已尝试过: 在config.yml文件中设置

session:
    cookie_lifetime: 900

它在15分钟内从应用程序注销。甚至用户活跃。 但我想显示用户是否在15分钟内处于非活动状态。然后它应该注销。否则就不应该。

有人有想法吗?

2 个答案:

答案 0 :(得分:0)

那里有一些下一级技巧,我不是这方面的专家

如果你有一个代表用户的自定义用户实体,你可以为它添加一个名为“last_activity”的新成员,并在你到达控制器方法时检查他是否仍然有效:

$user->last_activity + 900 >= time()

如果是,请将用户注销。否则,只需以这种方式修改last_activity:

$user->last_activity = time();

可能有更好的解决方案(Symfony native)但我不知道它可以随意完成:)

答案 1 :(得分:0)

我认为正确的做法如下:

session:    
    cookie_lifetime: 7200
    gc_maxlifetime: 900

您可以在此处进一步阅读:http://symfony.com/doc/current/components/http_foundation/session_configuration.html