magento 1 получение пользователя как вошедшего даже после истечения времени ожидания сеанса - PullRequest
0 голосов
/ 17 октября 2018

Я пишу логику, чтобы перенаправить клиента на страницу входа после истечения его сеанса.Для этого я написал AJAX-вызов, который вызывает одну из пользовательских функций crontoller, где я проверил, активен ли пользовательский сеанс или нет, и в зависимости от этого я делаю редирект.Проблема, с которой я здесь сталкиваюсь, заключается в том, что вызов AJAX постоянно возвращает true, т. Е. Пользователь вошел в систему даже после истечения времени ожидания сеанса.Когда я обновляю сайт Magento, сеанс фактически действует как просроченный, а затем я получаю ответ AJAX как ложный.Есть что-то, чего мне не хватает ИЛИ есть лучший способ сделать это?

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';
        }
    }
}
...