Защитить существующее приложение "Трясогузка

Я работаю над интранет-сайтом корпорации на базе Wagtail. На данный момент существует около 30,000 страниц, с примерно 1500 пользователями. Я являюсь администратором приложения и серверов.

Актуальная ситуация

Я обслуживаю сайт через Apache2 с authnz_ldap, с 3 различными LDAP доменами. Я использую аутентификацию REMOTE_USER. Все страницы помечены как "публичные", поскольку аутентификация предоставляется глобально.

Желаемая ситуация

Обслуживайте сайт с помощью nginx, используя django-auth-ldap в качестве источника auth (Модуль auth с несколькими LDAP-серверами уже работает). Удаленный аутентификатор будет отключен.

Для просмотра содержимого сайта все пользователи должны быть подключены.

Моя проблема в том, что мне нужно защитить сайт глобально, пометив ВСЕ страницы как приватные, и избежать того, чтобы редакторы случайно установили страницы как public.

Вопросы

  • Как установить весь сайт как private ?
  • Как заблокировать
  • статус страниц, чтобы принудительно установить public статус, т.е. видимый только для аутентифицированных пользователей? private

    Спасибо за помощь!

    PS: Версии Wagtail / Django пока не актуальны, так как я переношу приложение на более новые версии.

    Настройки конфиденциальности Wagtail каскадируют, поэтому если вы пометите корень сайта как "приватный" (я рекомендую "доступный для вошедших пользователей"), то весь сайт будет приватным. Тогда ваша единственная проблема - не дать никому пометить его как публичный. Одним из вариантов может быть удаление ссылки "Изменить приватность" путем переопределения этого файла шаблона в Wagtail 4.1: wagtailadmin/shared/side_panels/includes/status/privacy.html

    https://docs.wagtail.org/en/latest/advanced_topics/privacy.html#id1

    Вернуться на верх