Безопасность (Delivery)
Обеспечение безопасности проектов или сайтов в DC CMS является критически важным аспектом. Поэтому DC CMS предлагает различные средства безопасности для защиты ваших проектов или сайтов.
Механизмы авторизации
Авторизация осуществляется через конфигурацию и реализацию проекта или сайта с использованием функций, предоставляемых DC CMS для внедрения авторизации.
Авторизация на основе ролей
Авторизация на основе ролей - самый распространенный механизм в DC CMS, который позволяет назначать роли для элементов контента или целых разделов. Пользователи могут просматривать элементы или разделы только в том случае, если они принадлежат группе с назначенной ролью.
Пользователи, которые переходят на URL-адрес, к которому у них нет доступа, увидят сообщение об ошибке HTTP 404. Если настроена кастомизированная страница 404, пользователь будет перенаправлен на эту страницу. Если кастомизированная страница 404 не настроена, будет отображена страница 404 по умолчанию.
Обновление модели контента
Чтобы назначить роли элементам, включите модель authorizedRoles
в настройки типа контента элемента. Подробнее о моделировании контента можно узнать в статье "Моделирование контента".
Начните с изменения настроек типа контента элемента. Для этого в боковой панели CMS Studio перейдите по пути Инструменты сайта > Типы контента > нужный тип контента и нажмите на Редактировать.
Далее выберите Repeating Group из блока Элементы управления справа и через drag&drop добавьте ее в раздел Metadata на форме.
В свойствах Repeating Group в поле Заголовок укажите Authorized Roles, а в поле Имя/Имя переменной - authorizedRoles.
Интерфейс пользователя автоматически заполняет поле Имя/Имя переменной и добавляет суффиксы во время ввода данных в поле Заголовок. Пожалуйста, убедитесь в удалении суффикса _o
, поскольку authorizedRoles
- это зарезервированное имя переменной, используемое DC CMS. Для получения полного списка имен переменных, используемых DC CMS, обратитесь к разделу “Имена переменных элементов управления формой”.
Включение префикса ROLE_
для значений в authorizedRoles
остается на усмотрение пользователя.
Теперь через drag&drop добавьте в Repeating Group элемент управления Ввод, присвойте ему заголовок Role, а в поле Имя/Имя переменной - role. Затем в блоке Ограничения справа установите флажок в поле Обязательно.
Интерфейс автоматически заполняет поле Имя/Имя переменной и добавляет постфиксы по мере ввода данных в поле Заголовок. Необходимо удалить постфикс
_s
, так как имя переменнойrole
зарезервировано и используется DC CMS для обеспечения доступа к странице. Для списка зарезервированных имен переменных, используемых DC CMS, можно обратиться к разделу “Имена переменных элементов управления формой”.
Обновление элемента(ов) контента
Интеграция модели authorizedRoles
в настройки типа контента не вызывает автоматического обновления существующих элементов контента. Необходимо вручную обновить или использовать скрипт для включения модели authorizedRoles
в элемент контента, указав роли, разрешенные для доступа к нему. Модель authorizedRoles
будет доступна для авторов контента для назначения ролей при создании новых элементов контента.
Авторизация на основе ролей для разделов
Авторизация на основе ролей применима и к целым разделам. Для этого нужно внедрить модель authorizedRoles
в файл cms-level-descriptor.level.xml
в папке соответствующего раздела. Это ограничение гарантирует, что доступ к разделу имеют только пользователи, имеющие определенные роли. Дополнительные сведения о наследовании контента можно найти в разделе “Наследование контента”. Важно отметить, что файл cms-level-descriptor.level.xml
не создается автоматически и требует ручного создания. Кроме того, индивидуальные элементы контента могут переопределять модель authorizedRoles
, описанную в файле cms-level-descriptor.level.xml
.