-15%Скидка 15% на разработку сайта или магазина при старте до конца месяца

Федеральный сайт с ролевой моделью: как разграничить права 30 региональных редакторов

Ролевая модель федерального сайта на 1С-Битрикс: региональные редакторы, модерация и права доступа

Тридцать региональных редакторов, один сайт, одна админка — и рано или поздно кто-то из региона либо случайно опубликует страницу с ошибкой на всю сеть, либо отредактирует контент соседнего филиала, потому что не глядя открыл чужой раздел. На федеральных и мультирегиональных проектах это не гипотетический риск, а вопрос времени: чем больше редакторов работает в одной системе, тем выше цена одной неаккуратной правки.

Ниже — практический разбор того, как в 1С-Битрикс построить ролевую модель для десятков региональных редакторов: сколько нужно групп пользователей, как физически ограничить редактору доступ только его регионом, как устроить модерацию и как потом разобраться, кто и что изменил. Это обобщённый опыт наших проектов по разработке федеральных сайтов на 1С-Битрикс — конкретный пример такой сети мы разбирали в материале о запуске федерального сайта франчайзинговой сети.

Коротко

  • Регион задаётся не отдельной группой пользователей, а правами на конкретный раздел инфоблока — иначе групп станет столько же, сколько регионов.
  • Общие элементы (шаблон, шапка, юридические страницы) не должны быть доступны редакторам регионов вообще — только центру.
  • Для страниц, которые видит вся сеть, нужна премодерация через статус «На согласовании»; для локального контента региона достаточно постмодерации.
  • Обязательно включите историю изменений элементов — без неё разбор инцидента через полгода займёт часы вместо минут.
  • Модель, построенная на правах к разделам, масштабируется без изменения структуры групп при росте сети.

Почему федеральный сайт — это не «ещё один» сайт с правами

На обычном корпоративном сайте с 2–3 редакторами вопрос разграничения прав решается почти интуитивно: одна группа «Редакторы», одна группа «Администраторы», и все всё видят — команда маленькая, доверие высокое, цена ошибки низкая. На федеральном сайте с представительствами в 30 городах и отдельным редактором в каждом филиале ситуация принципиально другая: люди из разных отделов, часто не знакомые друг с другом лично, работают в одной системе одновременно.

Здесь встречаются три задачи, которые в маленьком проекте просто не возникают. Первая — изоляция данных: редактор Новосибирска не должен видеть, а тем более редактировать раздел Казани. Вторая — защита общего ядра: шаблон, меню, юридические страницы и общие лендинги должны быть недоступны для правки из регионов в принципе. Третья — прослеживаемость: когда на сайте одного из городов появляется ошибка или недостоверная информация, нужно быстро понять, кто её внёс и когда, не поднимая всех 30 редакторов по тревоге.

Решить это на глазок, раздавая права «по ощущениям» в процессе работы, не получится — систему нужно спроектировать на старте, как и структуру инфоблоков. Здесь мы разбираем именно роли и права; если нужен более широкий взгляд на проектирование структуры контента — см. отдельный материал о проектировании структуры инфоблоков.

Важно: права доступа в 1С-Битрикс проверяются на каждом уровне — модуль, инфоблок, раздел, конкретный элемент. Ролевая модель федерального сайта строится именно на уровне «раздел», потому что раздел — естественная единица региона: один регион = один раздел (или ветка разделов) инфоблока.

Три принципа ролевой модели для сети из 30+ регионов

Прежде чем раскладывать права по интерфейсу админки, полезно зафиксировать архитектурные принципы — они не дадут модели «расползтись» по мере роста сети.

Эти три принципа звучат просто, но именно их нарушение — источник почти всех инцидентов на федеральных сайтах: кто-то расширил права «временно и забыл вернуть», кто-то завёл региону права на инфоблок целиком вместо конкретного раздела, кто-то дал доступ к шаблону «чтобы не дёргать разработчика по мелочи».

Три принципа модели прав Роль ≠ регион Группа: «Региональный редактор» — одна на всех Раздел: у каждого пользователя свой Минимум прав Создание и правка — да. Публикация без модерации — не всегда. Удаление разделов — нет. Ядро закрыто Шаблон, шапка, меню, юридические страницы — доступ только у центра, не у региональных редакторов.
Схема: ролевая модель держится на трёх принципах — они не дают структуре прав расползтись при росте сети регионов.

Группы пользователей: сколько нужно и по какому принципу

Соблазн завести отдельную группу на каждый регион («Редактор Новосибирска», «Редактор Казани» и так далее) понятен — так проще на старте. Но при 30 регионах это 30 групп, а при масштабировании до 80 — 80 групп, каждую из которых нужно вручную настраивать и поддерживать. Правильный подход — небольшой набор ролевых групп, где роль описывает функцию, а не географию.

ГруппаКто этоЧто может
Региональный редакторСотрудник филиалаСоздавать и редактировать элементы в разделе своего региона
Региональный модераторРуководитель филиала / маркетологТо же + публикация контента региона без согласования с центром
Контент-менеджер центраСотрудник головного офисаПравка общих разделов, шаблонов страниц, навигации
Модератор центраРуководитель контентаСогласование контента, который выходит на всю сеть
АдминистраторIT / разработчикПолный доступ: структура, права, модули, интеграции

Региональность каждому конкретному пользователю задаётся не выбором группы, а правами доступа, назначенными персонально на раздел инфоблока, — об этом подробнее в следующем разделе. Такая схема означает, что при найме нового редактора в 31-м регионе вы не создаёте новую группу, а заводите пользователя в существующую группу «Региональный редактор» и привязываете его к новому разделу.

Структура разделов и инфоблоков под региональность

Ролевая модель работает только поверх правильно спроектированной структуры контента. Для федерального сайта с региональными редакторами разумная схема — один инфоблок «Филиалы» (или «Региональный контент»), где каждому региону соответствует свой раздел верхнего уровня, а внутри него — подразделы под типы контента (новости региона, акции региона, вакансии региона).

Если структура смешана — общий и региональный контент в одном разделе без чёткого разделения — построить корректные права поверх неё будет либо невозможно, либо придётся ограничивать доступ на уровне отдельных элементов вручную, что не масштабируется на десятки редакторов.

Права на разделы: как физически изолировать регион

Технически изоляция строится на правах доступа к конкретному разделу инфоблока. В 1С-Битрикс у каждого раздела можно задать индивидуальные права — отдельно от общих прав группы на инфоблок целиком. Логика такая: группа «Региональный редактор» получает право «Нет доступа» на инфоблок в целом, а затем каждому конкретному пользователю точечно выдаётся право «Изменение» на раздел именно его региона.

Права наследуются вниз по дереву разделов: если у редактора есть право на раздел «Новосибирск», он автоматически получает такое же право на все подразделы внутри («Новости», «Акции», «Вакансии»), но не получает его на соседний раздел «Казань». Это ключевое свойство, на котором держится вся модель — не нужно вручную прописывать права на каждый подраздел, достаточно один раз настроить их на корневом разделе региона.

  1. Создайте раздел на регион. В инфоблоке «Филиалы» заведите раздел для каждого города с понятным символьным кодом (novosibirsk, kazan).
  2. Снимите права по умолчанию. В настройках группы «Региональный редактор» на уровне инфоблока установите «Доступ запрещён» — без явного разрешения на раздел группа ничего не увидит.
  3. Назначьте индивидуальные права на раздел. Откройте раздел региона → вкладка «Права доступа» → добавьте конкретного пользователя (или подгруппу) с уровнем «Изменение» (без права «Удаление», если не требуется).
  4. Проверьте наследование. Убедитесь, что подразделы внутри региона унаследовали права — специально ничего дополнительно настраивать не нужно.
  5. Протестируйте под учёткой редактора. Зайдите в админку под тестовым пользователем региона и убедитесь, что чужие разделы не отображаются в дереве и не открываются по прямой ссылке.

Общие элементы: шаблон, шапка, единые страницы

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

Практическое правило: правка шаблонов страниц, файлов компонентов и структурных элементов навигации доступна только группам «Контент-менеджер центра» и «Администратор». Региональный редактор физически не имеет доступа к разделу «Управление структурой» и к визуальному редактору страниц шаблона — у него в меню админки эти пункты просто не отображаются, потому что права на соответствующие модули не выданы.

Частая ошибка на старте проекта: дать региональному редактору доступ к общему инфоблоку баннеров «чтобы он мог обновить акцию у себя на сайте». Правильное решение — отдельный региональный инфоблок баннеров с правами на свой раздел, а не общий инфоблок с ограничением «доверия».

Модерация и статусы согласования контента

Не весь региональный контент одинаково рискован. Новость о локальной акции филиала, которую увидят только посетители страницы этого региона, можно публиковать сразу — постмодерация с оповещением центра снижает риск до приемлемого уровня. А вот страница, которая появляется в общем списке новостей всей сети, на главной или в общих виджетах, требует премодерации: ошибка на ней видна не одному региону, а всем посетителям сайта.

Технически премодерация реализуется через статус активности и дополнительное свойство «Статус согласования» у элемента: региональный редактор сохраняет материал со статусом «На согласовании» (элемент при этом не активен и не выводится на сайте), модератор центра видит очередь таких элементов в специальном фильтре списка и переводит их в статус «Опубликовано», делая элемент активным.

Региональный редактор Статус: «На согласовании» элемент не активен Модератор центра Публикация → активен на сайте
Схема: контент, выходящий за пределы одного региона, проходит через статус «На согласовании» перед публикацией.

Журнал действий и история изменений

Права ограничивают, что человек может сделать, но не отвечают на вопрос «что уже произошло». На федеральном сайте с 30 активными редакторами рано или поздно возникнет ситуация: на сайте региона нашли ошибку — устаревшую цену, неверный номер телефона, некорректный текст — и непонятно, когда и кем она появилась. Без журнала действий разбор такого инцидента превращается в опрос всех причастных.

Два штатных механизма закрывают эту задачу. Первый — история изменений элементов инфоблока (версионность): включается в настройках инфоблока, и по каждому элементу можно посмотреть все сохранённые версии с указанием автора и времени правки, а при необходимости — откатиться к предыдущей версии. Второй — журнал событий (лог действий пользователей на уровне ядра), который фиксирует факты входа в систему, изменения прав, удаления — то есть более широкий контур, чем просто контент.

Совет: включайте версионность сразу на этапе внедрения, а не после первого инцидента. На больших инфоблоках включение версионности задним числом не восстанавливает историю до момента включения — прошлые изменения так и останутся без авторства.

Как это выглядит в админке 1С-Битрикс

Права на раздел настраиваются на вкладке «Права доступа» раздела инфоблока — рядом с обычными полями названия и сортировки. Схематично это выглядит так:

Раздел инфоблока: «Новосибирск» Свойства Права доступа Иванова А. (редактор, филиал Новосибирск) Изменение Группа «Региональный редактор» (по умолчанию) Доступ запрещён Наследование Права применяются ко всем подразделам («Новости», «Акции», «Вакансии»)
Схема: право на раздел выдаётся точечно конкретному пользователю, а не всей группе — группа по умолчанию доступа не имеет. Реальные подписи зависят от версии платформы.

Внедрение ролевой модели пошагово

  1. Зафиксируйте список ролей. Согласуйте с заказчиком, какие роли реально нужны — обычно 4–6, не больше (см. таблицу выше).
  2. Спроектируйте структуру разделов. Один регион — один корневой раздел, общий контент — отдельно.
  3. Создайте группы пользователей. По одной группе на роль, без привязки к географии.
  4. Настройте права по умолчанию. На уровне инфоблока — «Доступ запрещён» для региональных групп.
  5. Заведите пользователей и назначьте точечные права. Каждому редактору — право на раздел его региона.
  6. Настройте статусы согласования. Для контента, выходящего на всю сеть.
  7. Включите версионность и журнал событий. На всех инфоблоках с региональным контентом.
  8. Проведите тестовый прогон. Под учётками двух разных регионов убедитесь во взаимной изоляции.

Масштабирование: от 30 к 80+ регионам

Главное преимущество модели «роль отделена от региона» — она не меняется при росте сети. Добавление 31-го, 50-го или 80-го региона — это создание нового раздела и назначение прав новому пользователю, а не пересмотр структуры групп. Если модель изначально построена как «группа на регион», рост сети линейно увеличивает административную нагрузку и рано или поздно упирается в предел, который команда поддержки уже не может обслуживать вручную.

При росте сети стоит заранее продумать два момента. Первый — производительность списков в админке: когда элементов десятки тысяч, полезно добавить фильтр по ответственному пользователю или региону в списке инфоблока, чтобы редактор не листал общий список. Второй — регламент модерации: если один модератор центра физически не успевает согласовывать поток материалов от 80 регионов, роль стоит распределить по направлениям (например, отдельный модератор на группу федеральных округов), сохранив при этом единый набор ролей и прав.

Частые ошибки при разграничении прав

Чек-лист готовности ролевой модели

  1. Роли зафиксированы. 4–6 групп, каждая описывает функцию, а не географию.
  2. Структура разделов region-first. Один регион — один корневой раздел с подразделами.
  3. Права по умолчанию — «Доступ запрещён». На инфоблоке для региональных групп, точечные права — на конкретных пользователей.
  4. Общее ядро изолировано. Шаблон, навигация, юридические страницы недоступны региональным редакторам.
  5. Модерация настроена. Статус «На согласовании» для контента, выходящего за пределы региона.
  6. Версионность включена. На всех инфоблоках с региональным контентом, с самого запуска.
  7. Проведён тестовый прогон. Под учётками минимум двух разных регионов, изоляция подтверждена.
  8. Регламент модерации описан. Кто, в какой срок и по какому критерию согласует контент центра.

Вывод

Ролевая модель федерального сайта держится не на количестве групп пользователей, а на правильном разделении понятий «роль» и «регион»: роль — это группа с фиксированным набором прав, регион — это индивидуальная привязка пользователя к разделу инфоблока. Вместе с закрытым от регионов общим ядром, продуманной модерацией и включённой версионностью такая модель одинаково хорошо работает и на 30, и на 80 региональных редакторах, не требуя пересмотра при росте сети.

Частые вопросы

Сколько групп пользователей нужно на федеральном сайте с 30 редакторами?

На практике хватает 4–6 групп: «Региональный редактор», «Региональный модератор» (при необходимости промежуточного согласования), «Контент-менеджер центра», «Модератор центра» и «Администратор». Заводить отдельную группу на каждый регион не нужно — регион задаётся не группой, а привязкой пользователя к разделу через права доступа, иначе при росте сети число групп станет неуправляемым.

Может ли региональный редактор случайно затронуть данные другого региона?

Если права выданы корректно — нет. Права доступа в 1С-Битрикс назначаются на конкретный раздел инфоблока (и наследуются на подразделы), поэтому редактор физически не видит в списке элементов чужие разделы и не может открыть чужой элемент по прямой ссылке на редактирование — система вернёт отказ в доступе. Общие поля не должны быть доступны для правки редакторам регионов — вынесите их в отдельный инфоблок с правами только для центра.

Нужна ли премодерация контента регионов или можно публиковать сразу?

Зависит от риска. Для новостей и акций региона обычно достаточно постмодерации с оповещением центра. Для страниц, которые видит вся сеть (общие лендинги, юридические документы, цены), нужна премодерация через отдельный статус элемента — редактор сохраняет в статус «На согласовании», и публикует уже модератор центра.

Как понять, кто и что изменил, если через полгода найдена ошибка на сайте региона?

Для этого нужен журнал действий пользователей (модуль «Мониторинг производительности» / логирование событий, либо штатный лог истории версий элементов инфоблока). Включите ведение истории изменений на инфоблоках с региональным контентом — тогда по каждому элементу видно, кто, когда и что изменил, и можно откатить конкретную правку, не трогая остальные.

Что делать с общими элементами шаблона — шапкой, футером, общими баннерами?

Их лучше вообще не давать редактировать через ту же ролевую модель, что и региональный контент. Общие блоки размещайте в отдельных инфоблоках или правьте только через код/визуальный редактор с правами уровня «Администратор» или «Контент-менеджер центра» — так исключается риск, что редактор одного региона случайно поменяет шапку для всей сети.

Как масштабировать модель, если сеть выросла с 30 до 80 регионов?

Модель, построенная на правах к разделам, а не на десятках групп, масштабируется линейно: на каждый новый регион заводится раздел и пользователь получает права на него, структура групп не меняется. Единственное, что стоит пересмотреть при росте, — производительность списков в админке (добавить фильтры по ответственному) и регламент модерации, если один модератор перестаёт справляться с потоком заявок.

Поделиться: Telegram ВКонтакте WhatsApp

Строите федеральный сайт с десятками региональных редакторов?

Спроектируем структуру разделов, ролевую модель и модерацию под вашу сеть филиалов или франчайзи — с аудитом прав, если сайт уже работает.

Игорь Воскресенский

Основатель студии B2Bsite. С 2014 года команда разрабатывает и поддерживает интернет-магазины и корпоративные сайты на 1С-Битрикс, настраивает каталоги, умный фильтр и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога