Вставить путь к файлу битрикс доступ

Обновлено: 08.07.2024

Настройка -> Пользователи -> Группы пользователей вкладка Группы пользователей .

Пример настройки контент-менеджера:

  • главный модуль - [Q] контент-редакторы
  • управление структурой - редактирование файлов и папок
  • остальное по умолчанию

Привязка пользователя к группам осуществляется на странице настроек пользователя: настройки -> пользователи -> список пользователей во вкладке группы .

Права для модулей

Права для модулей задаются на странице Настройка->Уровни доступа . Для редактирования необходимо в фильтре выбрать название модуля и тип доступа (удобнее искать по "букве") и затем в списке два раза кликнуть на элемент для редактирования. После этого, на вкладке включаемые операции, можно редактировать список доступных операций.

Инфоблоки и доступ к ним

Выбор прав доступа для групп пользователей у типов инфоблока настраивается на вкладке доступ на странице настройки данного инфоблока.

Доступ к разделам

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

Особенность: Контент -> Структура сайта -> Файлы и папки -> папка bitrix . Колонка права на доступ продукта - по умолчанию показаны права для группы администраторы. Можно нажать кнопку дополнительно и выбрать пункт показать права на доступ для, где можно указать другую группу, после чего в колонке права на доступ продукта будут отображаться права для выбранной группы.

Компонент, учитывающий права

Параметр в $arFilter (в GetList )

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

Выбор элементов с ненаступившей датой активности

Для выборки элементов у которых дата активности еще не наступила используется следующий параметр в $arFilter функции GetList :

SHORT - сокращенный формат времени, т.е. проверяться будет только дата, но не время.

SetUrlTemplates() для установки пути к компоненту

У объекта класса CIBlockResult , который возвращает функция GetList есть метод SetUrlTemplates , для установки путей к элементу вместо указанных в инфоблоке:

создание группы с правами назначать другим пользователям права

Пользователи->Группы , создать группу, на вкладке доступ у пункта главный модуль выбрать просмотр данных модуля и изменение заданных профайлов и ниже в появившемся списке выбрать группы пользователей, профайлы которых возможно имзенять.

Настройка прав для конкретного пользователя

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

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

Можно управлять правами для разделов инфоблока. Для этого нужно зайти в редактирование раздела, перейти на вкладку Доступ , нажать добавить .

Права доступа элементов инфоблока

Можно управлять правами доступа для элементов инфоблока. Для этого в режиме редактирования элемента перейти на вкладку Доступ (может не быть этой вкладки, если форма изменена, тогда добавить) и нажать кнопку добавить.

Проактивная защита - следит за данными, поступающими от пользователей, делает их безопасными. Журнал работы находится: Настройки -> Проактивная защита -> Журнал вторжений .

Защита пароля пользователя

Анатолий Е.

В декабре 2011 года компания 1С-Битрикс выпустила Управление Сайтом 11.0.10, и вывела управление правами доступа собственных модулей на новый уровень. К “классической триаде” обязательных методов любого модуля (InstallDB, InstallEvents и InstallFiles) добавился еще один, мало кому из программистов сегодня известный — InstallTasks. О нем и всех его аспектах и пойдет сегодня речь, но сначала немного теории.

Права и роли в ПО

Организация управления доступом на основе ролей (RBAC, Role Based Access Control) в ПО известна уже давно и в том или ином виде знакома большинству программистов. Почитать про нее можно в интернете, здесь же отметим ключевые ее особенности:

  1. Каждому пользователю системы присваивается Роль
  2. Каждая роль содержит набор Прав или Разрешений
  3. При выполнении любых операций происходит проверка именно Прав/Разрешений

Операции и уровни доступа в 1С-Битрикс УС

Сразу нужно запомнить — права в исходном коде УС называются не иначе как “operations” или “операции”, роли — “tasks” или “уровни доступа”. Управление операциями (их добавление или удаление) через панель управления невозможно — только через API системы (использование метода CModule::InstallTasks как раз является замечательным примером такого использования). А вот создание уровней доступа возможно не только через API, но и вручную, силами администратора или любого другого привилегированного пользователя по пути “Настройки->Пользователи->Уровни доступа”.

1.jpg

Эта страница должна быть знакома тем специалистам, которые хоть раз да настраивали на сайте доступ для “контент-менеджера” или “модератора” — сотрудников, у которых должен быть доступ в панель управления, но ограниченный. Такая настройка занимает совсем немного времени и не требует участия программиста.

В БУС нельзя напрямую назначать конкретные права на операции конкретным пользователям (в полном соответствии c RBAC ). Связь производится через два промежуточных звена — группы пользователя и уровни доступа. Проиллюстрируем эту связь ER-диаграммой.



Каждая операция характеризуется названием, принадлежностью к модулю, описанием и привязкой (о ней позже). Они задаются один раз, обычно при установке модуля, и редактированию более не подлежат.

Заметка для любопытных: операции хранятся в таблице БД b_operation.

Для создания уровня доступа необходимо задать ему имя, выбрать модуль, который он описывает и дать права на выполнение необходимых операций в этом модуле. Один уровень доступа описывает операции только одного модуля! Дополнительно можно указать букву уровня доступа (символьный код) и описание. Традиционно в стандартных модулях БУС используются следующие символьные коды:

  1. D для полного запрета
  2. R для чтения
  3. W для записи
  4. X для полного доступа

Еще раз отмечу, что это не правило, а наблюдение. Обратите внимание, уровни доступа, отсортированные по своим символьным кодам, обозначают возрастание привилегий. Нередко можно увидеть в исходниках БУС проверку вида “Если уровень доступа >= R” (вот зачем алфавитный порядок).

Созданные и настроенные уровни доступа хранятся в таблице БД b_task и b_task_operation.

Остальные шаги должны быть известны большинству специалистов по работе с 1С-Битрикс УС: нужно поместить пользователя в нужную нам группу и этой группе задать нужный уровень доступа в нашем модуле.

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

Управление кешем — операция главного модуля (main). Букву для уровня создавать не будем.

5.jpg

6.jpg

Теперь у нас есть уровень доступа к главному модулю “Чистильщик кеша”. Осталось закрепить уровень доступа за группой нужного пользователя и протестировать.

8.jpg

7.jpg

Как видно на экране, ничего кроме кнопки сброса кеша у нашего пользователя нет.

Теперь уже можно переходить к программированию.

API для работы с операциями и уровнями доступа

Чтобы ваш модуль при установке создал в системе нужные вам операции, необходимо внести следующие изменения в установщик вашего модуля (/bitrix/modules/<ваш модуль>/install/index.php):

  1. в методе DoInstall вызвать метод InstallTasks (ну и в DoUninstall не забыть про UnInstallTasks);
  2. переопределить открытый метод GetModuleTasks. Пример кода из модуля Инфоблоков ниже.

3.jpg

Ключ массива — более или менее читаемый код уровня доступа, в нем есть ключи LETTER для буквы уровня доступа, BINDING для привязки операций и OPERATIONS для перечисления операций, которые входят в данный уровень доступа. Чтобы привязать операцию именно к модулю и работать с ней в обычном режиме, требуется либо не указывать ключ BINDING, либо указать там module.

Установка модуля пройдет без проблем и Ваши уровни появятся в панели управления в общем списке. Только вот у них не будет названия и описания. Вернее, они будут, только в том же виде, в котором вы их объявили в методе: iblock_deny, iblock_read и т.д.

Перевод этих строк происходит в файлах модуля /admin/task_description.php (для перевода уровней доступа) и /admin/operation_description.php (для перевода операций).

Содержимое файлов простое, по сути они должны возвращать данные следующего вида:

4.jpg

Ключи массива соответствуют ключам уровней и операций, а сами массивы содержат название и описание.

Эти файлы подключаются автоматически и не требуют дополнительных хлопот.

Осталось только использовать эти права по назначению — организовать в модуле их проверку.

Для этого есть системный булевый метод CUser::CanDoOperation. Чтобы получить все уровни, которые есть у пользователя, используйте метод CUser::GetAllOperations. Проверка прав использует кеширование в сессии пользователя, так что можно себя не ограничивать и не бояться порождать лишние запросы.

Небольшой пример: попробуем организовать доступ на сайте по следующей матрице прав.

9.jpg

Матрица показывает, какие права есть у какого пользователя в некой компании. Выделено три роли: Глава компании, начальник отдела и рядовой сотрудник. Базовых операций 4 (так же известны как CRUD — Create-Read-Update-Delete), но есть нюансы — например, просмотр доступен в двух вариантах, изменение тоже, часто учитывается принадлежность сотрудников к отделам.

Зная, что права могут поменяться, не будем при установке модуля создавать уровни доступа, только операции.

После анализа матрицы все выделенные операции объявляются в методе модуля GetModuleTasks.

10.jpg

После добавления языковых файлов и установки модуля все готово к воссозданию матрицы прав. Вот так выглядит уровень доступа “Начальник отдела”.

11.jpg

А так — “Глава компании”.

12.jpg

Осталось лишь в коде поставить нужные проверки методом CanDoOperation.

Привязки (BINDING)

Напоследок, вернемся к привязкам. Они не используются в совсем уж простых модулях — можно сказать, это продвинутый уровень.

Обратите внимание на права доступа из модуля Инфоблоков (пример кода в предыдущем разделе). У каждого уровня привязка не к модулю, а к объекту iblock. Как следствие, на странице списка уровней доступа системы (“Настройки->Пользователи->Уровни доступа”) модуль инфоблоков вообще не представлен. Но любой достаточно оптыный специалист скажет, что где-то он уже видел настройку прав доступа для инфоблоков. Но где же?

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

Получается, что стандартные уровни доступа (с привязкой к модулю) редактируются в стандартном разделе панели управления, а для работы с любыми другими объектами вам нужно создавать свои собственные разделы “админки”. Получается, в 1С-Битрикс УС есть не только продуманная и удобная система прав доступа, но и база для создания своей собственной.

Автор выражает благодарность Сергею Покоеву и Павлу Машанову. Именно наши разговоры об управлении доступом вдохновили меня на эту статью.

Покажу как настроить права с доступом в админку и редактированием определенных инфоблоков.

Настройка прав доступа

Покажу как настроить права с доступом в админку и редактированием определенных инфоблоков.

Покажу как настроить права с доступом в админку и редактированием определенных инфоблоков.

Создание группы

Для начала, создаем новую группу пользователей /bitrix/admin/group_edit.php?lang=ru, назовем ее "Редакторы блога". На вкладке "Доступ" выставляем:

  • Главный модуль: Контент-редакторы
  • Управление структурой: Редактирование файлов и папок
  • Поисковая оптимизация: Анализ страниц и сайта


Настройка доступа в админку

На странице "Контент" - "Структура сайта" - "Файлы и папки" /bitrix/admin/fileman_admin.php?lang=ru&path=%2F жмем кнопку "Дополнительно" - "Свойство папки". Выставляем право записи группе "Редакторы блога". Сохраняем.

Переходим в папку "bitrix" жмем кнопку "Дополнительно" - "Свойство папки". Выставляем право чтения группе "Редакторы блога" Сохраняем.

Переходим в папку "admin" жмем кнопку "Дополнительно" - "Свойство папки". Выставляем право чтения группе "Редакторы блога" Сохраняем.


Настраиваем доступ к инфоблокам

Переходим на страницу настроек конкретного инфоблока "Контент" - "Типы иноблоков" - -

На вкладке "Доступ" указываем право "Изменения" для группы "Редакторы блога", сохраняем. И так для всех инфоблоков.


Настраиваем доступ к медиабиблиотеке

На странице "Контент" - "Медиабиблиотека" /bitrix/admin/fileman_medialib_admin.php?lang=ru нажимаем кнопку доступ и добавляем права "Редактирование элементов и коллекций" для группы "Редакторы блога"


На этом всё, осталось добавить нужных пользователей в эту группу и после повторной авторизации они увидят нужные доступы.

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

Чтобы подключиться по удаленному серверу через FTP-клиента FileZilla понадобится логин и пароль. На Макхосте необходимые данные находятся в левом меню «Мой аккаунт» во вкладке «Пароли аккаунта».

Во вкладке находятся все пароли и логины Ваших услуг на хостинге.

С вкладки «Пароли аккаунта» (слайд выше) копируем Хост, Имя пользователя (логин), пароль и вставляем в настройки подключения через FileZilla (слайд ниже).

Очень удобно для работы. В процессе создания сайта, когда постоянно вносятся изменения и правки, нет необходимости переходить в хостинг при каждом случае.

Создание и редактирование блоков сайта

После установки Битрикс, пользователей встречает главная админпанель.

Основные вкладки необходимые для работы:

Чем Битрикс отличается от классической CMS

Детальнее о редакторе

Очень удобно, быстро и наглядно. Не нужно заходить через админку, перепроверять по несколько раз.

Пункты меню редактируются аналогично. Подводим курсор мыши к нужному блоку, появляется опция «Изменить в редакторе». В окне «Редактирование меню» меняем название существующих пунктов, добавляем или удаляем разделы.

Все изменения отображаются сразу после сохранения. Разделы меню двигаются при помощи мыши.

Работать достаточно просто. Не имея значительных навыков ведения сайтов, можно вносить изменения, добавлять новый материал.

Визуальный режим редактора

Рассмотрим визуальный режим редактора. Текст в виде HTML – кода. Изменение не самого содержания статьи, информации, а оформления. Другими словами, при помощи кода можно вставить ссылку разделить текст на абзацы и тд.

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

Справа расположена боковая панель «Компоненты». Более детально будем изучать позже. В данном случае компонентов мало. Так как для урока используется простая демоверсия. Чем дороже и сложнее версия, тем больше компонентов будет на панели.

Структура Битрикс: разрыв шаблона

Возвращаемся к FileZilla. Ищем папку company.

Увидеть путь к нужному файлу можно и в оглавлении окна редактора. (Выделено зеленым квадратом на предыдущем слайде).

В файле видны все компоненты, с которыми мы ознакомимся. Рассмотрим, как подключили Header и Footer, необычное расположение картинки. Но об этом более детально в других уроках.

Читайте также: