Выход из админки при отсутствии активности

Приветствую, всех!
Помогите с решением вопроса,
не смог найти такой настройки,
что бы при отсутствии активности, на пример 20 минут, в админке авторизация отменялась.
Сейчас бесконечно долго пользователь залогинен в админке.
Greza
23 марта 2017, 11:22
modx.pro
1
1 337
0

Комментарии: 4

Сергей Шлоков
24 марта 2017, 10:06
3
+2
Держи.
<?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.

П.С. В боевом режиме не тестировал.
    Greza
    24 марта 2017, 11:00
    0
    Ух ты, не думал что нет никакой стандартной настройки для этого.
    Спасибо, за помощь, а куда это вставить? Плагин? Сниппет?
      Сергей Шлоков
      24 марта 2017, 18:11
      +1
      Плагин с событием OnManagerPageBeforeRender
        Greza
        24 марта 2017, 18:15
        0
        Чтото у меня нет такого события
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4