magento 1即使会话超时也让用户登录

时间:2018-10-17 10:46:51

标签: php ajax session magento-1.13

我正在编写逻辑,以在客户会话期满后将其重定向到登录页面。为此,我编写了AJAX调用,该调用调用了自定义crontoller函数之一,在该函数中,我检查了用户会话是否处于活动状态,并取决于我是否在进行重定向。 我在这里面临的问题是AJAX调用不断返回true,即,即使会话超时后用户也已登录。 当我刷新Magento站点时,该会话实际上充当过期会话,然后我得到的AJAX响应为false。 有什么我想念的吗?或者有更好的方法吗?

AJAX通话

jQuery(document).ready(function () {
    LogOutInactive();
});

function LogOutInactive() {
    var idleInterval = setInterval(timerIncrement, 5000);
}

function timerIncrement() {
    jQuery.ajax({
        url: '<?php echo Mage::getBaseUrl() ?>'+'customcontroller/index/checksession',
        success: function(data){
            if ( data == '0' ) {
                window.location = "LOGIN_PAGE_URL";
            }
        }
    });
}

自定义控制器

class Package_Extension_IndexController extends Mage_Core_Controller_Front_Action
{
    public function checksessionAction()
    {
        $id = Mage::getSingleton('customer/session')->getId();
        if($id)
        {
            echo $id;
        }
        else
        {
            echo '0';
        }
    }
}

0 个答案:

没有答案