Кейс дня "Отключаем разделы и модули для целого отдела в коробке Битрикс24"

ВИДЕОИНСТРУКЦИЯ ДЛЯ СОТРУДНИКОВ КОМПАНИИ:
  • Коробочная версия Битрикс24 часто используется для работы не только внутри компании, но и для подключения «внештатных» сотрудников, «удаленных» отделов, партнеров, подрядчиков и клиентов.
  • Обсуждаем вопрос как корректно ограничить таким пользователям доступы к ключевым (к служебным) разделам корпоративного портала, исключить и ограничить им доступ к конфиденциальной информации компании.

КАК РАБОТАЕТ МОДУЛЬ?
  • Открываем портал, структуру, смотрим пример.
  • В структуре компании есть большой отдел «Мастерские» с множество филиалов (территориальных подотделов).
  • Сотрудники филиалов ограничены и не имеют доступа к вкладкам главного меню (левый столбик портала), они их просто не видят на экране. Это наглядно видно если сравнить порталы сотрудника главного офиса и сотрудника «удаленного» отдела. Возможность попасть в закрытую зону с помощью прямых ссылок Битрикс24 у такого сотрудника – заблокирована.

Как это реализовано технически?
  • Мы собираем информацию о всех удаленных пользователях рекурсивно, считаем их и сохраняем массив этих данных в электронной таблице. Данные таблицы каждые 5 минут пополняются и обновляется.
  • Как только администратор портала создает (приглашает) нового удаленного пользователя, робот автоматически считывает его и определяет какому отделу он принадлежит. Информация о сотруднике передается в таблицу. Дальше система в автоматическом режиме будет включать ограничения для удаленного сотрудника согласно его роли при работе на корпоративном портале.
  • Поэтому, как только удаленный пользователь открывает портал, системе необходимо время чтобы распознать его и предоставить доступ согласно его полномочиям.
  • Как это выглядит в админке?
    У нас есть специальный Highload-блок «Masters» Список записей, в него записываются ID наших пользователей, которые принадлежат удаленным отделам и прописаны доступы.
  • Робот (агент) каждые 5 минут (при необходимости время задержки может быть сокращено до 1 минуты) осуществляет автозапуск проверку и обновление данных. Запуск агента может быть осуществлен вручную с помощью PHP команды.
  • Как устроена файловая структура? Все рабочие файлы управления функционалом хранятся в папке Local\hph_interface.
  • Файл agent_function.hph рекурсивно обрабатывает все подотделы и забирает ID сотрудников чтобы для них применить ограничения доступа.
  • В файле constans.hph находятся 2 константы (masters_HB_ID,1) и (masters_departament_ID,57) которые используются для указания где в какой базе и в какой таблице будет хранится информация. В нашем примере у нас сейчас одна таблица ID 1 и masters_departament_ID содержит значение ID отдела компании, который считается основным и от которого мы рекурсивно начинаем вычислять всех его зависимых пользователей.
  • Как узнать номер основного отдела?
    В структуре компании нужно нажать на иконку «мастерские» и считать номер в командной строке браузера. В нашем примере это 57.
  • Если нужно изменить доступы к отделу, то необходимо изменить значение ID в константе. Далее после перезапуска агент обновит списки сотрудников, на которых необходимо ввести ограничения.

ВАЖНО!
  • Обновленный список добавится к первому (введенному ранее) и ограничения будут действовать на оба списка одновременно на старый и новый

Ограничения доступов, их два вида:
  • Первый (неполный) вид определяет какую директорию пытается открыть пользователь и делает redirect 301(работает файл handlers.hph. в файл содержит массив директорий и возвращает пользователя на главную страницу меню). Одновременно второй специальный файл с расширением custum_stuff.css закрывает в браузере все недоступные (запрещенные к доступу) прописанные в файле разделы.
  • Как включать ограничения?
    Например, необходимо ограничить раздел Диск. Для этого нужно нажать правой кнопкой «мыши» вкладку главного меню «диск», открыть редактор и в теле файла ищем специальный тег id=”bx_left_menu_files, копируем его и переносим его в файл custum_stuff.css. Не забудем поставить «решетку» перед тегом, сохранить внесенные изменения, обновить портал и очистить КЕШ браузера.

ВАЖНО!
  • Сейчас мы скрыли только лишь диск в отображении браузера и по-прежнему, имеется возможность перехода и доступ к диску по полной ссылке (dogs шерт - общий диск компании). Чтобы полностью закрыть доступ к диску, необходимо еще создать запись в массиве блокировки доступа. Массив блокировки находится в файле header.php. В этом файле необходимо указать путь к диску. Путь можно увидеть в браузере при активации диска.
  • Процедура – предоставления доступа к закрытым отделам портала, осуществляется в обратном порядке.

ПОДВЕДЕМ ИТОГИ:
  • Функционал коробочной версии Битркс24, позволяет избирательно и детально настраивать и ограничивать доступы к разделам корпоративного портала для всех категорий сотрудников, включая «дистанционно работающих», как индивидуально, так и для целых отделов с подотделами.
  • Обновления версий ПО Битрикс24 не нарушает на распределение доступов и ограничений.

Вернуться к кейсам