Переводим сайт в режим "Только для чтения"
Прислано: VladSavitsky
чт, 27/11/2008 - 11:33
Задача
Нужно временно отключить возможность добавлять/менять контент на сайте. Это может быть полезно при смене NS-серверов и переносе на другой сервер, когда нужно, чтобы сайт оставался доступен, но контент не менялся.
Решение
По сути нужно перевести сайт в режим "Только для чтения" - посетители могут только читать контент, но ничего не должны менять.
Режим "Обслуживание сайта" (режим выполнения технических работ) в этом случае не подходит, потому что сайт нельзя будет читать.
- Открыть страницу "Разрешения" (/admin/user/permissions в Drupal 6)
- Сохранить страницу на своем компьютере, чтобы можно было потом восстановить права доступа или воспользоваться модулем Site Documentation (документирование настроек сайта)
- Снять галочки для нужных ролей (Гости, Регистированные пользователи и всем, кто может случайно вносить изменения в неподходящий момент) для действий, которые могут менять контент сайта.
Действия пользователей, которые могут менять контент сайта
модуль comment
- размещать комментарии
модуль book
- добавлять материалы в подшивки
- создавать новые подшивки
модуль node
- доступ к содержанию сайта
- управлять типами материалов
- управлять материалами
- create *
- delete any *
- delete own *
- delete revisions
- edit any *
- edit own *
- переключаться между редакциями
модуль user
- изменять свое имя пользователя
Подсказка!
Не забудьте включить эти права снова.
Полезные ссылки
Вопрос
Может быть есть лучшее решение? А то очень много манипуляций.
Может быть есть модуль заморский и неведомый?
- VladSavitsky's blog
- Для комментирования войдите или зарегистрируйтесь
Может быть есть лучшее решение? А то очень много манипуляций.
сохранить выборку разрешений во табличку.
убрать разрешения на запись.
...........
подождать пока все устаканится.
вернуть все на место заранее заготовленным запросом :)
- Для комментирования войдите или зарегистрируйтесь
Согласен с Ilya1st - SQL Вам в руки
- Для комментирования войдите или зарегистрируйтесь
Отлично! Спасибо.
Ещё раз подтверждается мудрость "У советующихся мудрость" (сами знаете откуда цитата).
Можно так:
- Сделать дамп таблицы permission с удалением таблицы, если она существует.
- В админке друпал выставить нужные права для режима "Только для чтения"
- Опять сделать дамп
Получаем 2 файла с sql-сценариями. Один включает режим, а другой выключает.
Единственный недостаток, если дампы сделаны были давно и права с тех пор поменялись, то можно восстановить не не права доступа.
Как это можно обойти?
- Для комментирования войдите или зарегистрируйтесь
Наверное можно так:
1. Делаем дамп таблицы с нужными правами только на чтение.
2. Делаем бекап базы полностью.
3. Включаем режим только на чтение.
4. Когда нужно дать полный доступ просто восстанавливаем базу из бекапа.
- Для комментирования войдите или зарегистрируйтесь
Я подразумевал, что режим "только для чтения" это значит, что никто извне не может добавлять контент, а админ в это время может что-то менять внутри.
Если восстанавливать полный дамп базы, то эти данные будут уничтожены.
- Для комментирования войдите или зарегистрируйтесь
Решение было сохранено на сайте DrupalCookBook.ru:
Перевести сайт в режим "Только для чтения".
Авторы, предложившие решения, также указаны в сохранённой статье.
- Для комментирования войдите или зарегистрируйтесь



Комментарии