Ограничить определенные страницы в 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/