Как выйти из системы всем активным пользователям?
Вместо того, чтобы переводить мой сайт в "режим обслуживания", я хотел бы перевести его в полный "режим только для чтения". Для этого существует модуль , однако он предотвращает только "добавление и редактирование узлов". Я хотел бы запретить все действия пользователей, включая вход в систему и регистрацию, чтобы сайт в основном обслуживался из кэша (лак). В качестве дополнительного преимущества я бы использовал этот тип "режима только для чтения", если сайт будет переполнен запросами.
Мой вопрос: как я могу выйти из системы все активные пользователи? Логин и регистрацию я могу затем перенаправить с помощью крючка.
4 answers
Насколько я знаю, вы можете очистить таблицу сеансов, и все пользователи выйдут из системы. Однако может возникнуть проблема, в зависимости от установленных вами модулей. Например, модули, реализующие hook_user_logout()
никогда не уволят за их действия, что может быть проблемой. Убедитесь, что ни один из установленных вами модулей не реализует этот крючок.
Вы можете очистить таблицу сеансов с помощью drush
drush sqlq "TRUNCATE sessions"
Или, если вы установили префиксы для имен таблиц:
drush sqlq --db-prefix "TRUNCATE {sessions}"
Использовать Модуль принудительного выхода из системы ..
Особенности
- Форма настроек, в которой вы можете включать и отключать (принудительный выход из системы).
- Разрешение, позволяющее исключить некоторые роли пользователей, например, если вы хотите исключить администратора.
Вы можете принудительно выйти из системы всех пользователей с помощью крючка обновления:
/**
* Force to logout all the users.
*/
function mymodule_update_7001() {
db_truncate('sessions')->execute();
}