【问题标题】:Session ends even if application is alive and people are working on it即使应用程序处于活动状态并且人们正在处理它,会话也会结束
【发布时间】:2015-06-08 01:50:05
【问题描述】:

我正在处理的应用程序中有一个“奇怪”的问题,到目前为止我找不到解决这个问题的方法。该应用程序使用 Symfony2.6.x 并依赖于多个 Ajax 调用。所有的时间请求都是通过 Ajax 发出的。所以,当我登录到应用程序(使用 FOSUserBundle)时,Symfony 会自动启动一个新会话,对吗?好的,从那一刻到在config.yml 定义的时间(见下面的配置)会话生命周期应用程序仍在工作,但在某些时候我被重定向到登录页面并且会话关闭,即使我正在积极处理应用程序.我最好的方法是在 Symfony 或 PHP 中的会话生命周期中不考虑 AJAX 调用,我是对的吗?

我对这个问题的最佳方法和解决方案,不知道我是否正确,也没有尝试过,我想在这里听听一些人的意见,是重新生成会话的 ID(通过调用 @987654324 @ 在当前活动会话上)每次进行 AJAX 调用时,这样会话将保持活动状态,这种方法是否正确?有什么建议吗?

这是我在 config.yml 中用于会话部分的配置:

config.yml

framework:
    session:
        # session will expire after 10 minutes of inactivity 
        handler_id:  ~
        cookie_lifetime: 2400 
        gc_maxlifetime: 600 # session will expire after 10 minutes of inactivity
        gc_probability: 0
        gc_divisor: 100

注意: 我的this postthis other 基本上都在谈论相同的问题,但我仍然没有解决这个问题,它正在扼杀我的应用程序和我试图找到解决方案的头脑。

【问题讨论】:

    标签: php ajax symfony session symfony-security


    【解决方案1】:

    问题:
    - 你远程工作吗?如果是这样,您是否将最后的更改立即自动保存在服务器上,或者您需要手动保存它们才能运行?
    - 您是否计算了真实会话的时长(从登录到被切断)?时间长度一样吗?
    猜测:
    如果没有上述内容,我认为您的问题出在会话到期设置的设置上,并且线路上的某处(您和服务器之间)可能存在触发会话重置的事件。 [您是否尝试过打开两个窗口?你知道,登录然后在不同的窗口中工作,但保持登录后打开...]
    如果是因为会话设置较短,请尝试以下操作:
    php_value session.cookie_lifetime 0
    php_value session.gc_maxlifetime 60000
    这为您提供了充足的会话时间,或者直到您关闭浏览器/切断连接...

    【讨论】:

    • 你说的远程工作是什么意思?我没有关注你这个答案。至于第二个答案,不,我没有,但如果会话过期设置为 10 分钟并且我在页面上积极工作通过了 15 分钟,为什么它会关闭?这是我的担心。我需要的很简单:如果用户没有在应用程序中工作导致他/她退出或只是让窗口|浏览器打开并离开,那么当这种情况发生并且时间计数 10 分钟时,应用程序应该结束(进入登录屏幕)否则应继续正常工作。我尝试了几种会话到期设置但没有成功,所以我不这么认为
    • 您是在机器上工作还是在通过隧道连接它?这就是我要问的......
    • 啊,是的,我有一台运行 CentOS 的虚拟机,与 Windows 主机的时间和日期同步,所以网站在虚拟机上,这回答了你的问题吗?
    • 因为弹出登录界面说明你有事件触发!它必须是某种计时器。通过计算工作会话的持续时间,您应该获得相同的 Xamount 时间。比,只需仔细阅读服务器上的配置代码即可找到相同的 Xamount 并且有你的触发器!!!
    • 是的,我有一个触发器,每 13 分钟询问一次会话是否处于活动状态,但又一次,如果我在网站上工作,为什么会话会关闭?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多