我有一个AJAX工作者,他们每秒都被称为API网址。 250-300秒后,如果用户已注销,我将无法获得有效的响应或配置文件令牌。我已将cookie_lifetime
配置为 0 ,但没有任何区别。这也是我的security.yml:
firewalls:
main:
pattern: ^/
anonymous: true
form_login:
login_path: /home
logout:
path: logout
handler: app.custom_logout
target: /home
奇怪的是,会话到期时似乎完全随机。我还有超过1000个AJAX呼叫,另一方面只有300个呼叫。
我希望你们中的任何一个人都可以帮助我。
PS:AJAX调用不仅是JSON响应,还有完整生成的twig模板(包括分析器)。
答案 0 :(得分:0)
我自己找到了问题的答案。
您需要配置gc_divisor
,gc_probability
和gc_maxlifetime
。例如:
session:
cookie_lifetime: 0
gc_divisor: 10000
gc_probability: 1
gc_maxlifetime: 604800
在config.yml
中进行此配置后,您的会话失效的可能性(因为您已将cookie_lifetime
设置为特定时间)等于零。
另请参阅会话的Symfony文档:http://symfony.com/doc/current/reference/configuration/framework.html#session