Настройка прав доступа в MODX. Modx права доступа
Настройка прав доступа в MODX Revo
В данном уроке мы по шагам настроим права доступа в MODX для контент менеджера сайта.
Шаг 1. Создание политики доступа для контент менеджеров.
Для того чтобы создать пользователя перейдите в «Настройки» (шестеренка в правом верхнем углу) > «Контроль доступа» и на открывшейся странице переходим во вкладку «Политики доступа«.
Далее копируем «Content Editor» (щелкаем пкм (правой кнопкой мыши) и выбираем копировать), редактируем (пкм — редактировать) новую политику и называем ее «Менеджер«, пролистываем страницу пониже и устанавливаем галочки на против следующих разрешений:
- directory_chmod — Изменять права доступа (chmod) к каталогам
- directory_create — Создавать каталоги в файловой системе
- directory_list — Получать список подкаталогов для каталога в файловой системе
- directory_update — Переименовывать каталоги в файловой системе
- file_create — Создавать файлы
- file_list — Смотреть список файлов в определенном каталоге
- file_manager — Использовать диспетчер файлов
- file_remove — Удалять файлы
- file_tree — Видеть дерево файлов в левой навигационной панели
- file_update — Изменять файлы
- file_upload — Загружать файлы в папку
- file_view — Просматривать содержимое файла
- packages — Использовать пакеты в системе управления пакетами
- search — Использовать страницу «Поиск»
После этого сохраняете новую политику доступа.
Шаг 2 — Создание группы пользователей для контент менеджеров и устанавливаем для нее права
Теперь снова идем в «Настройки» > «Контроль доступа«, переходим во вкладку: «Группы пользователей & Пользователи» и создаем новую группу пользователей с именем «Контент менеджеры«. Устанавливаем в окне новой группы пользователей контексты — web, mgr; политика бэкэнда — Менеджер и сохраняем.
Теперь отредактируем данную группу. Для этого нажимаем пкм на «Контент менеджеры» выбираем «Редактировать«. После этого переходим на вкладку: «Права доступа» и на вкладке «Доступ к контекстам» редактируем по очереди mgr и за тем точно так же web
mgr, web > редактировать, устанавливаем «Политика доступа» как «Менеджер» + Сохранить
Шаг 3 — Создане нового пользователя и назначение ему прав
Переходим в «Управление» > «Пользователи» и создаем нового пользователя .
В открывшейся странице на вкладке «Общая информация» указываем имя — manager, указываем E-mail менеджера, ставим галки на против — «Активный » и «Я укажу пароль сам» и задаем пароль.
Переходим на вкладку «Права доступа» > «Добавить пользователя в группу» >»Контент Менеджеры«, Роль: «Super User» > Сохранить
Ну и потом еще раз «Сохранить» (сверху), чтобы сохранить пользователя.
После этого переходим в меню «Управление» > «Перезагрузить права доступа»
Шаг 4 — Добавление нового источника файлов
Переходим в «Медиа» > «Источники файлов» и копируем источник «Filesystem»
Отредактируем скопированный источникНазвание: «images»; basePath и baseUrl: «assets/images/» и сохраняем его.
Переходим в меню: «Настройки» > «Контроль доступа» далее жмем правой кнопкой мыши по группе «Контент менеджеры» и выбираем редактировать. Переходим на вкладку: «Права доступа» > «Доступ к источнику файлов» и добавляем новый источник файлов: Источник: images, Минимальная роль: Member — 9999, Политика доступа: Media Source Admin и Сохранить;
Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа»
Шаг 5 — Удаляем источник «Filesystem» для manager
Возращаемся в «Медиа» > «Источники файлов»Filesystem > Редактировать. Далее переходим на вкладку: «Права доступа», нажимаем «Добавить группу пользователей», выбираем группу пользователей: «Administrator», Минимальная роль: «Super User — 0», Политика: «Media Source Admin» + Сохранить
И потом еще раз сохранить сверху в правом углу.
Теперь точно также изменим права доступа к источнику файлов «images».
Шаг 6 — Управление группами ресурсов
Переходим в меню: «Содержимое» > «Группы ресурсов»Создать группу ресурсовИмя: «Администратор», Контексты: «web,mgr»Установить галку «Автоматически дать доступ группе Administrator» и сохранить.
Добавить элементы в новую группу «Администратор», которые мы хотим скрыть от менеджера (просто перетаскиваете их мышкой) и сохраняем.
Не скрывайте sitemap и robots во избежание проблем с поисковиками (ну по крайней мере у меня яша и гоша ругались что нет доступа к этим файлам, после их скрытия от менеджеров. Может глюк или баг. В любом случае я вас предупредил, а там решайте сами скрывать их или нет).
Ну и завершающий штрих: Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа». Все 🙂
Да еще бывают глюки у менеджеров с tv полями картинок, так что лучше используйте не стандартное tv изображение, а дополнение mixedImage (можно установить из репозитория modstore).
web-revenue.ru
Настройка прав доступа для контент-менеджера в MODX Revolution
Конкурс ITPrincess: https://goo.gl/lavFta
Всем привет! Сегодня мы рассмотрим настройку и разграничение прав в MODx Revolution. Создадим нового пользователя manager, ограничим его как следует и назначим соответствующие права на редактирование ресурсов и файлов.
Поделиться
Твитнуть
Поделиться
Класснуть
Плюсануть
Запинить
Полный алгоритм действий по настройке прав контент менеджера MODx
1. Создание нового пользователя и назначение прав
- Переходим в меню: "Настройки" > "Контроль доступа"
- Переходим на вкладку "Политики доступа"
- Копируем "Content Editor", редактируем и называем новую политику "Менеджер"
- Устанавливаем разрешения:
- Установить галку "Изменять права доступа (chmod) к каталогам"
- Установить галку "Создавать каталоги в файловой системе"
- Установить галку "Получать список подкаталогов для каталога в файловой системе"
- Установить галку "Переименовывать каталоги в файловой системе"
- Установить галку "Создавать файлы"
- Установить галку "Смотреть список файлов в определенном каталоге"
- Установить галку "Использовать диспетчер файлов"
- Установить галку "Удалять файлы"
- Установить галку "Видеть дерево файлов в левой навигационной панели"
- Установить галку "Изменять файлы"
- Установить галку "Загружать файлы в папку"
- Установить галку "Просматривать содержимое файла"
- Установить галку "Использовать пакеты в системе управления пакетами"
- Установить галку "Использовать страницу «Поиск»"
- Сохранить.
- Переходим в меню: "Настройки" > "Контроль доступа"
- Переходим на вкладку: "Группы пользователей & Пользователи"
- Создаем новую группу пользователей и задаем имя "Контент менеджеры"
- Устанавливаем в окне новой группы пользователей контексты web, mgr
- Политика бэкэнда в окне новой группы: "Менеджер" + Сохранить
- Новая группа пользователей "Контент менеджеры" > Редактировать
- Переходим на вкладку: "Права доступа"
- На вкладке "Доступ к контекстам" редактируем mgr, web по очереди
- mgr, web > редактировать, устанавливаем "Политика доступа" как "Менеджер" + Сохранить
- Переходим в меню "Управление" > "Пользователи" и создаем нового пользователя по кнопке "Новый пользователь"
- Имя manager, указываем E-mail менеджера, устанавливам радиобаттон ниже как "Я укажу пароль сам" и задаем пароль
- Переходим на вкладку "Права доступа" > "Добавить пользователя в группу"
- Группа пользователей: "Контент Менеджеры", Роль: "Super User"
- Установить чекбокс "Активный" + Сохранить
- Переходим в меню "Управление" > "Перезагрузить права доступа"
2. Ограничения на просмотр файловой системы
2.1. Добавляем источник файлов
- Переходим в меню: "Медиа" > "Источники файлов"
- Скопируем "Filesystem"
- Отредактируем скопированный источник
- Название: "Images"; basePath, baseUrl: "assets/images/"
- Переходим в меню: "Настройки" > "Контроль доступа"
- Отредактируем группу пользователей "Контент менеджеры" правой кнопкой мыши
- Переходим на вкладку: "Права доступа" > "Доступ к источнику файлов" и добавим новый источник по кнопке "Добавить источник файлов"
- Источник: Images, Минимальная роль: Member - 9999, Политика доступа: Media Source Admin
- Сохранить; Меню: "Управление" > "Очистить кэш"; Меню: "Управление" > "Перезагрузить права доступа"
2.2. Удаляем источник "Filesystem" для manager
- Переходим в меню: "Медиа" > "Источники файлов"
- Filesystem > Редактировать
- Переходим на вкладку: "Права доступа", нажимаем "Добавить группу пользователей"
- Группа пользователей: "Administrator", Минимальная роль: "Super User - 0", Политика: "Media Source Admin" + Сохранить
- Переходим в меню: "Медиа" > "Источники файлов"
- Images > Редактировать
- Переходим на вкладку: "Права доступа", нажимаем "Добавить группу пользователей"
- Группа пользователей: "Administrator", Минимальная роль: "Super User - 0", Политика: "Media Source Admin" + Сохранить
3. Управление группами ресурсов
- Переходим в меню: "Содержимое" > "Группы ресурсов"
- Создать группу ресурсов
- Имя: "Администратор", Контексты: "web,mgr"
- Установить галку "Автоматически дать доступ группе Administrator"
- Добавить элементы в новую группу "Администратор", которые мы хотим скрыть от менеджера
- Сохранить; Меню: "Управление" > "Очистить кэш"; Меню: "Управление" > "Перезагрузить права доступа"
На этом все, друзья :)
Премиум уроки от WebDesign Master:
webdesign-master.ru
Права доступа в Revolution / Документация по MODx / Сообщество MODX
Перевод статьи "Revolution Permissions" которую написал Bob Ray.Настройка прав доступа в MODx Revolution может показаться на первй взгляд сложной. В MODx Revolution больше сущностей и сложных взаимоотношений между ними, чем в MODx Evolution. Приведенная ниже информация относится к MODx Revolution.
Прежде чем мы углубимся в изучение прав доступа — небольшое предупреждение. Все, что описано ниже находится в стадии разработки. Я проверил только основные принципы, но не конкретные примеры. Пожалуйста, дайте мне знать, если что-то из описанного ниже не работает на самом деле.
Где устанавливаются права доступа?
Для простоты понимания стоит отметить, что система прав доступа MODx Revolution состоит из четырех частей.- ACL записи отвечают за то какие ресурсы пользователи могут просматривать, а также за то, что они могут с ними делать.
- Видимость дерева элементов и файлов контролируется специальными разрешениями (element_tree, file_tree).
- Видимостью и структурой главного меню админки можно управлять из System | Actions (Система | Действия)
- Задать видимость полей в конкретных формах (например для страницы создания/редактирования ресурса) для определенных пользователей можно из Security | Form Customization (Безопасность | Настройка форм).
Больше нет «Менеджеров» и «Веб пользователей»
В MODx Revolution больше нет различий между менеджерами и веб пользователями, теперь они просто — пользователи. Контроль доступа между административной частью и сайтом осуществляется с помощью контекстов. Администраторам доступен контекст «mgr», а веб пользователям — «web» контекст (или любой другой, который вы создадите). Под административной частью сайта мы имеем в виду панель управления сайтом, в которую вы входите по адресу yoursite.com/manager. Веб пользователи стоят по другую сторону баррикад — это обычные посетители вашего сайта yoursite.com, они могут быть залогинены через форму входа на вашем сайте.Пользователь в MODx Revolution в любой момент времени может быть залогинен или нет. Пользователь в административной части залогинен в контекст «mgr». Пользователь на сайте может быть залогинен или нет в контексте «web» (или любом другом, который вы создадите). Если он не залогинен, то он является анонимным пользователем (анонимусом) и имеет права только для загрузки (просмотра) документов.
Основные принципы
В MODx Evolution ресурсы «защищены» когда группа ресурсов сопоставлена с группой пользователей. После этого только пользователи которым разрешено имеют право доступа к ресурсам. Сопоставление «менеджер»/группа ресурсов работает только в админке. А связь «веб пользователь»/группа ресурсов работает, соответственно, только для фронтенда.В MODx Revolution ресурсы и контексты защищены в списках контроля доступа (для краткости мы будем использовать сокрашение ACL). Если ресурс или контекст защищён с помощью ACL записи, то доступ к ресурсу или контексту могут получить только пользователи которым доступ разрешён с помощью ACL записи и эта запись будет определять, что они могут делать.
Права доступа перечисленны в политиках доступа. Политики доступа назначаются в ACL записях с указанием роли и контекста. Список контроля доступа (ACL) принадлежит отдельной группе пользователей и (в отличии от Evolution) различным пользователям в одной группе могут быть назначены различные роли. Это может звучать сейчас как тарабарщина, но всё станет понятным позже.
Такая система, хотя поначалу и немного сложна для понимания, дает исключительную гибкость и позволяет содержать пользователей в одной группе пользователей, у которых есть доступ к одним и тем же ресурсам, но с различными возможностями. Например, один из трех пользователя в одной группе может просматривать документы в дереве, но не может их редактировать. Другой может просматривать, редактировать, сохранять документы, но не может публиковать, отключать публикацию или удалять. Третий пользователь может иметь полные права работы с документами. Так же, пользователи в одной группе могут иметь различные возможности в бэкенде MODx.
Я предполагаю, что вам известно (или вы в состоянии узнать) что такое пользователь, группа пользователей, и группа ресурсов («ресурс» — официальное название документов (Documents), веб-ссылок (Weblinks), символических ссылок (Symlinks) и статических ресурсов (Static Resources). Если вы не понимаете всего этого сейчас, то просто думайте что: ресурс = документ). Если вы привыкли к управлению правами доступа в Evolution, то вам потребуется дополнительная информация о контекстах, ролях, политиках доступа и списках контроля доступа (ACLs)
Коротко, политики доступа — это просто списки индивидуальных разрешений (например, save_tv, edit_document, view_document, access_permissions, и тому подобное), которые позволяют пользователям выполнять конкретные действия или просматривать что-нибудь в Менеджере. Роли это имена, которые связаны с политикой доступа и с рангом (более подробно об этом позже). ACLs — это просто списки с правами доступа, которые связывают группы пользователей, группы ресурсов, контексты и политики доступа. Давайте рассмотрим эти принципы подробнее.
Контексты
Контексты это новая концепция в MODx Revolution, контексты имеют множество применений и описание этого выходит за рамки этой статьи. Для наших целей, мы будем считать, что у вас есть только два контекста «web» и «mgr». Контекст «mgr» это бэкенд сайта. Контекст «web» это фронтенд сайта (есть небольшое исключение, мы вернёмся к нему позже). Если вы в будущем будете создавать новые контексты, то всё что вы сейчас изучите о «web» контексте будет применимо и к ним.По умолчанию, когда вы создаёте новый ресурс, то он попадает в «web» контекст. Контекст «mgr» это просто бекэнд сайта. Когда пользователи находяться в контексте «mgr», они авторизованны в бекэнде сайта.
Разрешения относящиеся к контексту «mgr» определяют то, что пользователи могут видеть и делать в бэкенде сайта.
Разрешения относящиеся к контексту «web» определяют что пользователи могут видеть и делать в фронтенде сайта.
Роли
Когда вы создаёте роль в MODx Evolution, то вы точно определяете какие действия сможет осуществлять пользователь с этой ролью. В MODx Revolution, единственное, что вы устанавливаете при создании роли это её имя, ранг и описание роли.Ранг роли Super User равен 0.
При создании других ролей, вы будете назначать им более высокий ранг.
Ранг это число между 0 и 9999.
Все, что вам действительно нужно знать о них сейчас, заключается в следующем:
- Роли, которые призваны иметь больше прав связанных с ними должны иметь более низкий ранг.
- Вы должны, избегать использования одного и того же ранга для разных ролей.
- Пользователи в группах пользователей будут «наследовать» разрешения, предоставляемые для пользователей с ролями, которые имеют более высокий ранг, чем их роль.
При добавлении пользователя в группу, вы назначаете ему роль в этой группе.
С помощью создания ACL записи для этой группы пользователей вы контролируете то, что пользователь может и не может делать. ACL запись определяет какая политика доступа применяется к этой роли.
Единственная функция роли заключается в том, что бы назначать пользователю номер ранга в группе. Пользователь будет наследовать разрешения других пользователей с более высоким рангом.
Роли создаются в Security | Access Controls (Безопасность | Группы пользователей), вкладка «Roles(Роли)».
Для создания новой роли щёлкните по «Создать новый». Роль можно удалить сделав правый щелчок мыши и выбрав «Удалить роль».
Политики доступа
Политики доступа это просто списки индивидуальных разрешений.Вы можете увидеть некоторые из них (Важно: не изменяйте и не удаляйте их сейчас) в Security | Access Controls | Access Policies (Безопасность | Группы пользователей | Политики доступа).
Щёлкните по политике и выберите «Edit(Редактировать)». Затем выберите вкладку «Permissions(Разрешения)» и вы увидите список разрешений для этой политики.
Когда политика доступа назначена (в записи ACL — см. ниже), то пользователь получает все разрешения, перечисленные в политике.
Если у пользователя конфликтующие разрешения (например: пользователь принадлежит к двум разным группам пользователей и разрешения для контекста «mgr» у пользователя в этих группах отличаются), то будет использоваться более «разрешительное» правило. Таким образом, если пользователь получает разрешение в контексте «mgr» в одном месте, то уже нигде это разрешение не может быть отменено.
В стандартную установку Revolution входят две стандартные политики: политика Administrator и политика Resource. Три важных принципа регулирующих использование этих политик:
- Никогда не изменяйте политики Administrator и Resource. Всегда делайте их копию, а затем изменяйте копию.
- Политики используемые в ACL записях определяющих права доступа для контекстов должны основываться на стандартной политике Administrator.
- Политики используемые в ACL записях определяющих права доступа для групп ресурсов должны основываться на стандартной политике Resource.
Списки контроля доступа
Замечание: перед тем как разбираться с разрешениями, проверьте системную настройку «updprems_allowroot» в разделе «Система | Настройки системы» (System | System Settings). Она определяет право пользователей создавать документы в корне сайта и перекрывает любые другие настройки безопасности.Вы можете потратить кучу времени пытаясь понять, почему ваши пользователи не могут создать документ, если настройка «updprems_allowroot» установлена в «Нет».
Списки контроля доступа (ACLs) связывают между собой пользовательские группы и группы ресурсов/контекстов. Каждая ACL запись имеет настройки «Контекст» (либо «Категория», либо «Группа Ресурсов») и «Минимальная роль» (Minimum Role). «Контекст», соответственно, определяет область, в которой применяется правило. Например, при установке значения в «mgr», правило будет применяться только при работе в бэкенде. Контекст «web» определяет правила, применяемые для фронтенда. «Минимальная роль» определяет, к каким участникам группы будет применено правило.
Первое, обо что спотыкаются начинающие пользователи Revolution — это местонахождение ACL. Вы можете найти их в разделе Безопасность | Группы пользователей (Security | Access Controls ), на вкладке «Группы пользователей» (User Groups) нажмите правой кнопкой на одну из групп и выберите «Обновление группы пользователей» (Update User Group).
Три крайних правых таба на открывшейся панели — это именно Списки контроля доступа. Они сгруппированы в таблицы и… на странице нет никаких упоминаний об ACL, но это именно они.Каждая строка таблицы — это одна ACL-запись, правило, указывающее на то, что может участник редактируемой группы с определённой ролью делать или видеть.
Заметьте, нет никакого смысла пытаться создавать ACL-запись пока вы не создадите группу пользователей, роль и политику доступа, которые собираетесь использовать в ACL.
Существует 2 вида ACL: для контекстов и для групп ресурсов. (Прим.: на самом деле сейчас в админке есть ещё третий вид доступа: к категориям элементов)
ACL для контекстов
Найдите вкладку «Доступ к контекстам» (Context Access) в панели редактирования пользовательской группы. Записи в этом списке позволяют контролировать то, какие административные задачи пользователь может выполнять в контексте, указанном для конкретной записи. Вы можете создать новую запись нажатием на кнопку «Добавить контекст» (Add Context).Когда ACL-запись создана, она «защищает» указанный контекст так, что ни один пользователь (включая супер-админа) не сможет получить доступ к контексту, если вы явным образом не прописали ему это. Если вы создаёте новый контекст, к примеру, не забудьте добавить себе ACL-запись для этого контекста, дающую к ней доступ группе администраторов (как правило, такая запись выглядит как запись для web-контекста)
Для группы администраторов уже создан набор контекстных ACL-записей к контекстам «mgr» и «web», что защищает эти контексты по-умолчанию. Поначалу эта система немного сбивает с толку:
когда вы создаёте нового пользователя, он не может залогиниться в админку пока вы не добавите его в группу пользователей и не дадите пользователю доступ к этому контексту посредством создания ACL-записи с контекстом «mgr»;
как только вы это сделаете, пользователь получает возможность войти в админку, но не сможет увидеть «web»-контекст в дереве списка ресурсов, пока вы не пропишете его группе соответствующую ACL-запись с контекстом «web» (и это единственное исключение из вышеуказанного правила о том, что «web»-контекст влияет только на доступ к фронтенду).
Итак, каждая ACL-запись для контекста содержит настройки «Контекст», «Минимальная роль», «Политика доступа». Пользователи с минимальной ролью в редактируемой группе пользователей (или кто-то с наименьшим уровнем) будут иметь возможность выполнять в указанном контексте все административные действия, отражённые в выбранной политике доступа.
Допустим, у вас есть группа пользователей «Субадминистраторы» и вы хотите, чтобы участники этой группы могли пользоваться админкой, но с ограничениями. Для этого вам нужно проделать следующие шаги:
- 1.Сначала создайте Роль «Субадминистратор» с рангом 9.
- 2.Создайте группу пользователей «Субадминистраторы» и добавьте туда участников с ролью «Субадминистратор»
- 3.Сделайте копию стандартной политики доступа «Administrator»
- 4.Отредактируйте дубликат, заменив название на «Субадминистратор»
- 5.На вкладке «Разрешения» (Permissions) удалите всё нежелательное для субадминистраторов. К примеру, удаление разрешения «access_permissions» предотвратит возможность редактирования участниками группы уровней безопасности как собственного, так и для других пользователей. А удаление разрешений «the element_tree» и «file_tree» не позволит им видеть, соответственно, вкладки «Элементы» и «Файлы» в левой панели админки.
- 6.Сохраните политику.
- 7.Отредактируйте теперь группу «Субадминистраторы», перейдя в раздел Безопасность | Группы пользователей (Security | Access Controls ), на вкладке «Группы пользователей» (User Groups) нажмите правой кнопкой на одну из групп и выберите «Обновление группы пользователей» (Update User Group).
- 8.Перейдите на вкладку «Доступ к контекстам» (Context Access).
- 9.Добавьте ACL-запись (нажатием на кнопку «Добавить контекст» (Add Context) ). Укажите следующие значения:
- Контекст: mgr
- Минимальная роль: Субадминистратор
- Политика доступа: Субадминистратор
- 10.Выберите в меню Безопасность |Очистить права доступа (Security | Flush Permissions).
Если вы сейчас попытаетесь зайти в админку под одним из участников группы «Субадминистраторы», то логин будет успешным, но блок с деревом ресурсов слева будет пустым, так как вы не дали группе «Субадминистраторы» доступа к «web»-контексту. Теперь надо сделать ещё одну контекстную ACL-запись со следующими значениями:
- Контекст: web
- Минимальная роль: Субадминистратор
- Политика доступа: Субадминистратор
Ничего из того, что вы делаете с контекстными ACL не влияет на то, какие документы могут видеть пользователи во фронтенде. Но этого можно добиться указанием ACL-записей для контекстов отличных от «mgr» на на вкладке «Доступ к группам ресурсов».
ACL для групп ресурсов
Итак, в панели редактирования группы пользователей найдите вкладку «Доступ к группам ресурсов» (Resource Group Access). ACL-записи в этом списке позволяют определять, какие конкретные ресурсы могут видеть пользователи в админке и во фронтенде и что они могут делать с этими ресурсами. Создать ресурсную ACL-запись можно нажатием кнопки «Добавить группу ресурсов» (Add Resource Group). Так же как с контекстными ACL, создавая ресурсную ACL вы делаете «защищёнными» ресурсы в указанном контексте. Никто не сможет увидеть их в определённом контексте, пока вы не дадите соответствующий доступ в ресурсной ACL-записи.Если вы укажете контекст «mgr», то обозначенные ресурсы будут видны в дереве ресурсов админки только тем пользователям, которым был дан доступ к ним. Если вы укажате контекст «web», то выбранные ресурсы будут видны во фронтенде сайта только пользователям, которым был дан доступ (и которые залогинены).
Ресурсные ACL-записи имеют те же поля, что и контекстные с добавлением ещё одного поля для указания группы ресурсов.
Допустим, у вас есть группа пользователей «Редакторы» и группа ресурсов «Новости» с некоторыми новостными статьями. И вы хотите скрыть в админке новостные страницы от НЕ-редакторов. Тогда вам нужно отредактировать группу «Редакторы», добавив ресурсную ACL со следующими настройками:
- Группа ресурсов: Новости
- Минимальная роль: Редактор
- Политика доступа: Resource
- Контекст: mgr
Опять же, как суперпользователь, когда вы обновите кэш настроек доступа (Безопасность |Очистить права доступа (Security | Flush Permissions)), вы заметите отсутствие страниц новостей в дереве ресурсов. Чтобы вернуть их вы можете либо добавить администратора в группу «Редакторы» (вероятно, с минимальной ролью «Super User» и политикой «Administrator»), либо отредактировать группу «Administrator», добавив в неё ресурсную ACL-запись с указанием на группу ресурсов «Новости», контекст «mgr», минимальную роль «Super User» и политику доступа «Administrator».
Созданная выше ACL-запись ограничит доступ к новостным страницам в админке, но по-прежнему любой посетитель будет видеть их во фронтенде сайта.
Но допустим, вы хотите ещё и спрятать новости во фронтенде от анонимных посетителей. Добавим ещё одну ресурсную ACL-запись со следующими значениями:
- Группа ресурсов: Новости
- Минимальная роль: Редактор
- Политика доступа: Resource
- Контекст: web
Заметьте, если вы просматриваете документы из админки, вы всё ещё залогинены как суперадмин. Чтобы протестировать фронтенд-доступ откройте сайт в другом браузере.
Административные действия через фронтенд
Если вы не устанавливали никаких сниппетов или плагинов, которые при посещении сайта через фронтенд совершают какие-либо администорские действия (типа очистки кэша или изменения настроек безопасности), вы можете пропустить этот раздел. Большинство основных сниппетов (т.е. Wayfinder, BreadCrumbs и многие другие) будут выполняться нормально. Весь код в них также будет выполняться если вы делаете предпросмотр страницы из админки как суперадмин.Запомните, что по-умолчанию «web»-контекст защищён ACL-записью для группы «Администраторы». Залогиненые пользователи должны иметь соответствующее разрешение с контекстом «web» в своих группах для возможности выполнения кода, который производит какие-либо администраторские действия. Такой код по-прежнему ни в коем случае не будет выполняться для анонимных посетителей пока вы и для них (группа (anonymous ) ) не создадите ACL-запись с соответствующими разрешениями в «web»-контексте.
«Доступ запрещен» и «Документ не найден»
В отличие от MODx Evolution в Revolution если страница защищена на сайте, то только залогиненые пользователи могут ее увидеть. При попытке просмотра такой страницы по-умолчанию анонимус будет переправлен на страницу с ошибкой, а не на страницу «Доступ запрещен». В Revolution если пользователь не имеет прав доступа «load» для ресурса это все равносильно для него отсутствию страницы на сайте. Если вы хотите показать анонимусу страницу «Доступ запрещен», вам необходимо сделать следующее:- Создать новую политику доступа (Access Policy) с названием «Load» и добавить единственное разрешение (Permission): Load.
- Создать новую ресурсную ACL-запись для группы (anonymous ), указав для группы ресурсов защищаемые ресурсы, для контекста — «web», минимальную роль — «Member» и политику доступа — «Load». Проделайте это для каждой защищаемой группы ресурсов.
Вот и сказочке конец, все кто слушал — молодец. BobsGuides.com — Bob Ray
Поучаствовать в переводе, исправлении ошибок можно здесь http://translated.by/you/revolution-permissions/into-ru/trans/.
archive.is