Как выйти из системы всем активным пользователям?


Вместо того, чтобы переводить мой сайт в "режим обслуживания", я хотел бы перевести его в полный "режим только для чтения". Для этого существует модуль , однако он предотвращает только "добавление и редактирование узлов". Я хотел бы запретить все действия пользователей, включая вход в систему и регистрацию, чтобы сайт в основном обслуживался из кэша (лак). В качестве дополнительного преимущества я бы использовал этот тип "режима только для чтения", если сайт будет переполнен запросами.

Мой вопрос: как я могу выйти из системы все активные пользователи? Логин и регистрацию я могу затем перенаправить с помощью крючка.

 17
Author: uwe, 2012-02-05

4 answers

Насколько я знаю, вы можете очистить таблицу сеансов, и все пользователи выйдут из системы. Однако может возникнуть проблема, в зависимости от установленных вами модулей. Например, модули, реализующие hook_user_logout() никогда не уволят за их действия, что может быть проблемой. Убедитесь, что ни один из установленных вами модулей не реализует этот крючок.

 14
Author: F1234k, 2012-02-06 03:41:38

Вы можете очистить таблицу сеансов с помощью drush

drush sqlq "TRUNCATE sessions"

Или, если вы установили префиксы для имен таблиц:

drush sqlq --db-prefix "TRUNCATE {sessions}"
 14
Author: batigolix, 2015-10-09 08:17:05

Использовать Модуль принудительного выхода из системы ..

Особенности

  • Форма настроек, в которой вы можете включать и отключать (принудительный выход из системы).
  • Разрешение, позволяющее исключить некоторые роли пользователей, например, если вы хотите исключить администратора.
 2
Author: Saud Alfadhli, 2020-06-15 09:13:00

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

/**
 * Force to logout all the users.
 */
function mymodule_update_7001() {
  db_truncate('sessions')->execute();
}
 1
Author: milkovsky, 2016-04-29 15:19:57