Ограничить определенные страницы в Django-CMS

Отказ от ответственности: я задал вопрос также в Google+, но я не уверен, насколько активно сообщество

Я борюсь с разрешениями Django CMS, и документация для меня остается неясной. У меня есть следующие требования:

  • Все страницы CMS должны быть доступны только для аутентифицированных пользователей.
  • Редактирование разрешено только сотрудникам
  • Некоторые страницы должны быть видны только определенной группе

Я не нахожу способ достичь этого. Не могли бы вы указать мне правильную комбинацию настроек? Вот несколько более конкретных вопросов:

  • Как "Требуется вход в систему" в форме разрешений для страницы связан с другими разрешениями, которые вы можете установить на странице?
  • Если однажды установить ограничение просмотра для "этого и всех детей", как я могу удалить его на дочерней странице?
  • Почему CMS_PUBLIC_FOR не имеют значения для "Прошедшие проверку"?
  • Есть ли способ просто ограничить просмотр всех страниц CMS для аутентифицированных пользователей без ограничения определенной группой?

Было бы здорово, если бы у кого-нибудь были намеки. Спасибо!

1 ответ

Я нашел решение сам сейчас:

Сначала я написал специальное промежуточное программное обеспечение, которое перенаправляет все запросы на страницы Django CMS для входа в систему. Затем я удалил разрешение "просматривать страницы" из всех групп и все глобальные разрешения для сотрудников, не являющихся сотрудниками.

Наконец, я удалил все ограничения просмотра в корне страницы и установил их только на определенных страницах, которые должны быть ограничены.

Если вас интересуют некоторые дополнительные сведения о разрешениях Django CMS: я поделился некоторыми соображениями по этому поводу здесь: http://blog.webrunners.de/2015/09/08/django-cms-permission-pitfalls/

Другие вопросы по тегам