MODX Revo | MiniShop2 > Права менеджера контента
/* Превью
Ну что за менеджер то без прав? Казалось бы, простая задача, но без магии и тут можно не плохо так растерять нервные клетки..
*/
Тут будет кратчайщая инструкция по настройке прав, так как в интренете их полно, но больше уделено внимание некоторым нюансам.
Дано
Сайт интернет-магазин на modx с минишопом и кучей плагинов.
Задача
Настроить права для менеджеров сайта, с возможностью добавлять, редактировать ресурсы и товары, но не удалять.
К делу
Настройка прав доступа
Настройку разделения прав в modx можно найти в настройках, пункт "Контроль доступа", там вкладки:
- Группы пользователей & Пользователи где перечисленны группы пользователей, привязанные к ним права и списки пользователей в этих группах
- Роли игнорируем эту вкладку
- Политики доступа Тут и настраиваются права
- Шаблоны политик доступа нафиг не нужны
Политики доступа
Для того чтобы создать новые права для менегера, идём во вкладку Политики доступа, там уже заготовленные все необходимы варианты политик, нужно просто читать описания и название, примерно должно быть понятно, понравившуюся политику копируем и переименовываем как удобно, например "Manager", для редактирования ресурсов нужно взять "Content Editor" отлично подойдёт, но там пользователь может удалять ресурсы, по этому редактируем созданную копию и ищем всё что связанно с "del" и отключаем галочки, благо описания там у полей понятные.
Далее попадаем в ловушку номер 1! Мы настроили права на редактирования ресурсов, но у нас же MiniShop2, а у него свои настройки политики, которых даже в группе для администратора нет( по этому копируем также "miniShopManagerPolicy", переименовываем например в "miniShopManager" и редактируем также снимая галочки с параметров типа "del" на удаления, там он 1, и без "del", там он называется "msproduct_delete"
Группы пользователей & Пользователи
Теперь надо создать новую группу и привязать к ней созданные политики, нажимаем "Новая группа пользователей", называем как хотим, особо не паримся, потом редактировать всё равно.
После создания редактируем, тут опять вкладки, но нас интересуют только последняя, "Права доступа", там первая вкладка "Доступ к контекстам", и добавляем 4 контекста, 4 потому что там будет 2 контекста, mgr и web (или как там он у тебя называется) к кажому по две созданные политики, при создании выбираем роль "Member-9999" не спрашивай зачем, в "Политика доступа" ищем созданного ранее manager или как ты там назвал %USER_NAME%?)
Сохраняем результат
Готово
Теперь напихиваем в созданную группу пользователей
Страдания
Желательно при любых изменениях в политике нужно жать в меню "Управление" - "Перезагрузить права доступа", хотя у меня работает и без этого, но мало ли..
После всех настроек, в момент тестирования, вероятно захочется создать документ прямо в корне сайта, но после его сохранения выйдет сообщение "Ошибка доступа!", но это нормально, за создание ресурсов в корне отвечает параметр "new_document_in_root" в настройках "Политика доступа"
При совершенно рандомных ошибках в настройках, у пользователя то и дело будет выскакивать ошибка "Код: 200 OK" и success со всякой по%%%нью типа \u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d! Например при редактировании ресурса или товара, чтобы понять в чём дело, нужно внимательно изучить поля ввода данных, например в поле выбора шаблона может не оказаться шаблонов, значит дело в досупах к шаблонам. Кракозябра выше появилась у меня из за того что небыло политики доступа для MiniShop2, и не загружались производители, когда я тыкал по полю производитель я снова получал эту ошибку, как подключить политику для минишопа напомню я написал выше.
Комментарии ()
Написать комментарий