Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

MODX статьи, уроки и готовые решения для MODX Revo

Сайдбар

MODX Revolution настройка прав контент-менеджера.

09 нояб. 2012

Сначала мне было довольно трудно понять систему назначения прав в Revo. На взгляд начинающего она трудна и не логична. Однако на самом же деле она исключительно комфортна. И в случае если располагать на руках хорошей инструкцией по настройке прав, то все будет прозрачным. Полагаю, организация учетной записи контент-менеджера, считается наиболее первоочередной и важной задачей. Вследствие этого обрисую процесс формирования такой, а равным образом все ошибки, с коими мне довелось соприкоснуться во время настройке.

Далее в статье имеется ссылка на источник, коим я воспользовался при  настройке прав, кроме официальной документации ModxRevo. Рекомендую изучить это до чтения моей статьи, т.к. она считается скорее предписанием, и нужно осознать главную суть системы пред её применением.

Начинаем! Входим в меню «Безопасность--Контроль доступа»:



Далее вкладка  «Политика доступа»:



Создаем  новую политику для менеджера:



Имя политики: Manager, шаблон: AdministratorTemplate.
 
Сохраняем  созданную политику. Она обязана появиться в списке политик ниже:



Редактируем её:



На страничке редактирования выводится перечень всех параметров. Для избранного шаблона AdministratorTemplate у нас отмечены все параметры. Нам нужно убрать излишние параметры, ограничив менеджера в правах.
В этом случае я пошел по обычному пути, убрав из админки все пункты меню и подменю, по коим менеджеру ходить нет необходимости. При данном сам доступ к редактированию системных опций я прикрывать не стал. Сомнительно, что менеджер станет подбирать ссылки на скрытые странички системных опций, чтобы что-то там изменить. Основное, чтобы случаем не нажал туда, куда ему жать не нужно, а от данного мы его избавим. Однако вы можете в свою очередь отключить доступ к тому, что считаете нужным.

Убираем доступ к страничкам и действиям, сопряженным с правами доступа, убрав галочку рядом с параметром access_permissions:



Точно так же проделываем с другими параметрами:

dashboards Возможность просмотра и управления панелями.
element_tree Просмотр дерева элементов в левой панели.
menu_reports Показ в верхнем меню пункт «Отчёты».
menu_security Показ в верхнем меню пункт «Безопасность».
menu_system Показ в верхнем меню пункт «Система».
menu_tools Показ в верхнем меню пункт «Инструменты».
new_static_resource Создание новых статичных ресурсов.
remove_locks Удаление всех блокировок на сайте.Дальше не забываем сохранить изменения.

Сейчас переходим на вкладку «Роли»:



Создаем  новую роль для менеджера:



Ранг задается любой от 0 до 9999 не включая. Так как 0 применяется для роли администратора, а 9999 для роли типичного посетителя. Имя роли задаем: Manager. Хочется заметить, что дальше буду для всех объектов задавать имя Manager, для собственного комфорта, однако имя может быть любым. Сберегаем изменения и переходим на вкладку «Группы пользователей»:



Создаем новую группу для менеджера:



Имя группы: Manager.

Сохраняем группу, потом отыскиваем её в списке и выбираем для редактирования:



На вкладке где представлена общая информации видно, что эта группа располагает в качестве родительской группу администратора, так как мы организовали её внутри этой группы. Однако это применяется скорее для комфорта восприятия, вследствие этого, в случае если вынести её из родителя,  ничего не изменится.



Переходим на вкладку «Доступ к контекстам»:



Прибавим свежий контекст:



Контекст mgr определяет права для работы с админкой. В этом случае мы задаем необходимую малую роль для него: Manager — 9 и политику доступа Manager, организованную прежде, которая и определяет перечень прав менеджера.

Сохраняем созданный контекст. И прибавим ещё один:



Контекст web определяет права доступа к ресурсам (страничкам). К ним относится редактирование, и создание, и сохранение изменений, а так же удаление и другое. Малая роль — Manager — 9, а политика доступа — Administrator (так как любые действия с ресурсами допустимы).

Далее нужно сохранить контекст и все изменения на страничке группы ресурсов.

Далее переходим в меню «Безопасность--Управление пользователями»:



Создаём новго пользователя, задаем ему имя  Manager. Это имя будет применяться для входа в админку. Выделяем пользователя как активного. В свою очередь внизу на вкладке где представлена общая информация можно задать средство организации пароля к учетной записи.

Пред тем как сохранять учетную запись заходим на вкладку «Права доступа» и добавляем нашего пользователя в прежде организованную группу менеджера: Manager, определив ему роль менеджера: Manager:



Судя по всему все. Можно выйти из под учетной записи админа и зайти в админ. панель как менеджер. Однако имеется еще момент!

В этом случае менеджер располагает доступом к файловой системе, а конкретно — ко всем файлам этого сайта на сервере. Для того чтобы локализировать доступ к ним, нужно сформировать новый источник файлов только для менеджера.
Для данного нужно зайти в меню «Инструменты--Источники файлов»:



   Вначале в перечне источников лишь главный источник: Filesystem. Сначала нужно ограничит доступ к нему.  Открываем страничку редактирования источника Filesystem. Дальше на вкладке «Права доступа» прибавим группу пользователей, которой желаем дать доступ:



Определим группе: Administrator, наименьшею роль: SuperUser — 0 и политику: MediaSourceAdmin.
Незамедлительно после сохранения абсолютно у всех пользователей, не имеющих отношение к указанной группе и роли, исчезнет доступ в источнику файлов Filesystem. Одновременно, данные пользователи не увидят этого источника в перечне на страничке инструментов!

Впоследствии возвратимся к перечню источников и организуем новейший источник для менеджера — PicturesManager. Предположим в данном источнике будут сохраняться иллюстрации к статьям:



Сохраним сделанный источник. Сейчас отыщем его в перечне и отредактируем его параметры.
На вкладке общих данных внизу имеется перечень параметров. Нас интересуют в данный момент первые 4. Другие параметры назначены по умолчанию исключительно хорошо, в частности для применения источника как хранилища изображений.
Нужно установить главный путь (basePath) к источнику и главный путь для ссылок на файлы источника (baseUrl). При данном пути должны задаваться с учетом параметров basePathRelativeи baseUrlRelative, коие в значении «Да» несут ответственность за вставку в начало пути — пути к папке веб-сайта на сервере. Тоесть окончательный путь складывается из 2-ух частей:

/var/www/site_name/ иmanager/template/tpl_name/pictures/

Первоначальная часть прописывается в «Опциях системы» ModxRevo. Однако её касаться не нужно, традиционно по умолчанию она стоит верная. Здесь вам необходимо сменить tpl_name на заголовок вашего шаблона для веб-сайта и сделать папку pictures.
В итоге, параметры baseUrlи basePath устанавливаются в значение:
manager/template/tpl_name/pictures/
Параметры basePathRelative и baseUrlRelativeв значение: «Да».

Пред  установкой прав доступа для менеджера к  источнику, нужно обратить внимание на том, что в последствии задания прав, источник не будет доступным для учетной записи админа, в том числе и для редактирования.
Одно средство поправить данное — зайти в меню «Безопасность — Контроль доступа». Открываем для редактирование группу менеджера: Managerи во вкладке «Источники файлов» отыскать и удалить источник PictureManager. Лишь тогда мы сможем снова редактировать этот источник из под админа.

Однако самое основное  не это, а то, что в случае если на какой-нибудь страничке применяется tv параметр с типом ввода «Изображение», тоесть tv, который конкретно обращается к какому-то источнику файлов, то для него нужно задать источник файлов PictureManager прежде, чем устанавливать права менеджера на него, иначе затем мы данное сделать не сможем.
Заходим в свойства необходимого нам tv параметра на вкладку «Источники файлов» и определяем для контекста web наш источник файлов, 2 раза кликнув на «Кэшированный код ресурса», сохраняем изменения.
И лишь после сего можно  задать права доступа для источника файлов PictureManager:



Задаем группу пользователей: Manager, наименьшую роль: Manager-девять и политику: MediaSourceAdmin. Немедленно после сохранения источник файлов пропадет для администратора (метод возврата оговаривался ранее), а tv параметры с определенным источником файлов PictureManager перестанут быть редактируемыми из под учетной записи админа. При этом проявляется при попытке админом сохранить страничку, которая применяет данный tv, в силу чего значение tv сбрасывается и картинка исчезает со странички.

Из тех промахов, что я поймал под час пользования.
Во время использовании сниппета Articles, под час вывода списка статей с  изображениями, в случае если изображения предназначались как tv параметры из под учетной записи менеджера (с применением его источника файлов), то эти изображения прекращали выводиться, при этом лишь в списке статей и лишь для сниппета Articles(тоесть getResources в чистом виде отрабатывает отлично). Сущность задачи в том, что ошибочно создается путь к изображению. А поточнее, он не создается абсолютно. Выводиться лишь его имя. Делему решил прибавлением костыля в виде сниппета image_path:

<code>$base_path = $modx->getOption('base_path');
return $base_path.'manager/templates/tpl_name/pictures/'.$input;</code>

Этот сниппет обретает главный путь к папке интернет-сайта: $base_path, потом прибавляет его и равным образом путь к источнику PictureManager к наименованию изображения, которое заключается в переменной $input. Значение для $input берется из tv.articleimage при вызове сниппета image_path:

<code>[[+tv.articleimage:image_path]]</code>
Будем надеяться у вас все будет функционировать и без этого. :)

Никакого спама, только обновления!!!

Комментарии (11)

  1. Nick 08 февраля 2013, 12:32 # 0
    Спасибо за пошаговую инструкцию!!! Я благодаря ей я наконец то смог разобраться со всеми этими правами
    Ну тогда сразу еще вопрос по теме, может кто сталкивался с таким. (MODX Revolution 2.2.5-pl)

    Создан для пользователя источник файлов PicturesManager, но он почему-то никогда не подставляется по умолчанию у пользователя. Ему всегда нужно выбирать источник файлов из списка, даже если он один в списке, там почему-то всегда светиться 1 по умолчанию, и только после клика мышкой на единичке выскакивает меню с необходимым источник фалов, причем источник только один у пользователя.

    1. Саша 08 августа 2013, 16:42 # 0
      Спасибо. Замучался искать нормальную инструкцию.
      Жаль только картинки не отображаются.
      1. Александр 25 мая 2014, 12:13 # 0
        Пожалуйста. Все картинки отображаются. Проверьте в другом браузере.
        1. Алексей 01 марта 2015, 15:26 # 0
          Подскажите а как к правам Менеджера добавить возможность управления Tickets?
          Все сделал по вышеизложенной инструкции Gallery работает и редактируется без проблем, а Tickets можно просматривать, редактировать, а сохранять и отменять публикацию комментариев нельзя. Как это можно исправить?
          1. Александр 08 марта 2015, 07:11 # 0
            У Tickets уже настроены права если я не ошибаюсь, установите их для группы пользователей.
          2. V-A-S 07 марта 2015, 07:32 # 0
            Добрый день. Подскажите пожалуйста, после организации доступа к контексту нового пользователя выбор обложек скажем галереи не могу выбрать обложку. Путь к файлу виден, а изменить его не могу. В чем может быть косяк?
            1. Александр 08 марта 2015, 07:12 # 0
              НЕ совсем понятно что вы хотите.
            2. Андрей 19 сентября 2015, 11:37 # 0
              Подскажите, как ограничить для пользователя, редактирование определенных ресурсов, например что бы мог добавлять и править только новости и больше ни чего.
              Заранее спасибо)
              1. Stan 20 сентября 2015, 20:37 # 0
                Спасибо за статью!

                Правда я не стал добавлять права доступа для источника файлов PictureManager: не показывается поле для менеджера.

                А то, что у админа доступ только к директории с картинками — это отлично, не надо по всему дереву бродить.

                В закладки!
                1. Stan 21 сентября 2015, 13:09 # 0
                  Привет, помогите разорабраться, а то я сломал мозг:

                  в чанке с выводом поста блога есть картинка

                  <img class="img-responsive" src="[[+tv.pic:phpthumb=`&w=900&h=300`]]" alt="[[+pagetitle]]" title="[[+pagetitle]]">
                  всё отлично, картинка показывается: assets/images/placeholder.jpg
                  а в чанке вывода товара её нет

                  <img src="[[+tv.image:phpthumb=`&w=320&h=320`]]" class="img-responsive" alt="[[+pagetitle]]" title="[[+pagetitle]]">
                  а тут уже потерна часть пути — images/noimage.png

                  Источник файлов стоит одинаковый. Что за прикол такой в системе?

                  1. nitros 10 января 2016, 00:25 # 0
                    Есть дополнение для разграничения прав доступа которое занимается все этим, плюсом добавляет источник файлов для менеджера и отслеживается установленные приложения в систему для назначения прав доступа.
                    Если дополнение не пригодиться, то там есть описания что можно сделать с правами менеджера пользователю.

                    Услуги по MODX Revolution

                    Посмотреть все услуги

                    Техническая оптимизация сайта

                    Подробнее & Заказать

                    Создание сайта на MODX Revolution

                    Подробнее & Заказать

                    Перенос сайта на MODX Revolution

                    Подробнее & Заказать

                    Продвижение сайта на MODX

                    Подробнее & Заказать