Выход из админки при отсутствии активности
Приветствую, всех!
Помогите с решением вопроса,
не смог найти такой настройки,
что бы при отсутствии активности, на пример 20 минут, в админке авторизация отменялась.
Сейчас бесконечно долго пользователь залогинен в админке.
Помогите с решением вопроса,
не смог найти такой настройки,
что бы при отсутствии активности, на пример 20 минут, в админке авторизация отменялась.
Сейчас бесконечно долго пользователь залогинен в админке.
Комментарии: 4
Держи.
П.С. В боевом режиме не тестировал.
<?php
switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
$script = "<script>\n\t";
$script .= "function setLogoutTimer(){if (logoutTimer) clearTimeout(logoutTimer); return setTimeout(function(){location.href='?a=security/logout';}, ".$modx->getOption('admin_logout_time', null, 20)."*60000);};"."\n\t";
$script .= "var logoutTimer = setLogoutTimer();\n\t";
$script .= 'document.addEventListener( "click" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
$script .= 'document.addEventListener( "mousemove" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
$script .= 'document.addEventListener( "contextmenu" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
$script .= 'document.addEventListener( "wheel" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
$script .= 'document.addEventListener( "keydown" , function() {logoutTimer = setLogoutTimer();}, true);'."\n";
$script .= "</script>";
$modx->controller->addHtml($script);
break;
}
Выставлять время в минутах можно в системной настройке admin_logout_time. П.С. В боевом режиме не тестировал.
Ух ты, не думал что нет никакой стандартной настройки для этого.
Спасибо, за помощь, а куда это вставить? Плагин? Сниппет?
Спасибо, за помощь, а куда это вставить? Плагин? Сниппет?
Плагин с событием OnManagerPageBeforeRender
Чтото у меня нет такого события
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.