Php 15分钟不活动后,symfony framework中的应用程序内的会话应过期
15分钟不活动后,symfony中应用程序内的会话应过期 到目前为止,我已经尝试过: 在config.yml文件中设置Php 15分钟不活动后,symfony framework中的应用程序内的会话应过期,php,symfony,Php,Symfony,15分钟不活动后,symfony中应用程序内的会话应过期 到目前为止,我已经尝试过: 在config.yml文件中设置 session: cookie_lifetime: 900 它将在15分钟内从应用程序中注销。即使用户处于活动状态。 但是我想显示用户是否在15分钟内处于非活动状态。然后应该注销。否则就不应该 有人知道吗?小心点,这是下一级的把戏,我不是这方面的专家 如果您有一个表示用户的自定义用户实体,您可以向其中添加一个名为“last_activity”的新成员,并在访问控制器方
session:
cookie_lifetime: 900
它将在15分钟内从应用程序中注销。即使用户处于活动状态。
但是我想显示用户是否在15分钟内处于非活动状态。然后应该注销。否则就不应该
有人知道吗?小心点,这是下一级的把戏,我不是这方面的专家 如果您有一个表示用户的自定义用户实体,您可以向其中添加一个名为“last_activity”的新成员,并在访问控制器方法时检查他是否仍然处于活动状态:
$user->last_activity + 900 >= time()
如果是真的,请注销用户。否则,只需通过以下方式修改最后一个活动:
$user->last_activity = time();
可能有更好的解决方案(Symfony native),但我不知道,所以请随意完成:)我认为正确的方法如下:
session:
cookie_lifetime: 7200
gc_maxlifetime: 900
您可以在这里进一步阅读:但我没有了解什么是“最后的活动”?是用户表中存储用户活动的新字段吗?如果我的解释不太好,我很抱歉。如果Symfony没有为您的会话提供跟踪“真实活动”的工具,那么您必须自己完成。在我看来,我提到的“最后一个_活动”是一个时间戳,它将被存储到用户会话类中。若您不需要其他人来查看谁处于活动状态,那个么就不需要将其存储在数据库中。