Как установить различное время автоматического выхода для каждого пользователя в Laravel, когда пользователь идеален - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть время в минутах для каждого пользователя в его профиле, пользователь должен автоматически выйти из системы по истечении этого времени.

Пример:

Пользователь 1: Время автоматического выхода из системы =>60 минут

Пользователь 2: время автоматического выхода из системы => 120 минут

Пользователь 3: время автоматического выхода из системы => 150 минут

Поэтому после входа в систему пользователь 1 должен выйти из системы после60 минут входа в систему, пользователь 2 через 120 минут и пользователь 3 через 150 минут.У кого-нибудь есть идеи, как этого добиться?

Я думаю изменить время жизни сеанса из файла session.php для каждого запроса на вход, но не знаю, сработает он или нет.

Заранее спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

Для этого вы можете использовать setInterval функция JavaScript

    var timeoutSeconds = <?php echo Session::get('timeoutSeconds'); ?>
    var _idleSecondsCounter = 0;

    window.setInterval(CheckIdleTime, timeoutSeconds);

    function CheckIdleTime() {
        _idleSecondsCounter++;
        var oPanel = document.getElementById("SecondsUntilExpire");
        if (oPanel)
            oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
        if (_idleSecondsCounter >= IDLE_TIMEOUT) {
            document.getElementById('logout-form').submit();
        }
    }

В контроллере входа вы можете установить сессию следующим образом

 $userCount = 1;

 $timeOutSeconds = 60 * $userCount;

 Session::put('timeoutSeconds', $timeOutSeconds);

для серверной части

Создание фонового задания в Laravel и выполнение отложенной отправки после входа в систему.

Задержка отправки задания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...