我有一个使用Symfony 2.8创建的医疗管理,它可以在用户不活动(无论是什么表单)后,在随机时间(从客户的电子邮件文本)注销用户。
我已经增加了会话时间,使其达到七个月。
cache_lifetime
设置为0(“关闭浏览器时”)。
我试图重现这个问题,但我和我的合作者都没有发现这个问题(从未注销)。
有没有办法弄清楚系统为什么注销用户,或者在自动注销时调用函数/控制器/事件,以便我可以理解浏览器客户的操作?
发布于 2017-02-03 08:52:43
很可能是您的服务器使会话超时,而不是Symfony。
无论如何,确保您在Symfony应用程序中保留会话的最好方法(imo)是将它们存储在数据库中。
# app/config/config.yml
framework:
session:
# ...
handler_id: session.handler.pdo
services:
session.handler.pdo:
class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
public: false
arguments:
- 'mysql:dbname=mydatabase'
- { db_username: myuser, db_password: mypassword }
完整文档文章:http://symfony.com/doc/current/doctrine/pdo_session_storage.html
https://stackoverflow.com/questions/42019568
复制相似问题