Role-based access

Система Smartswitch позволяет пользователям системы иметь ролевой доступ к веб-интерфейсу.
Это означает, что администратор системы может определить роли.

Каждая роль является набором настроек, определяющих:
  • видимость определенных элементов веб-интерейса
  • доступность операций на базе данных (выборка, вставка, удаление)

Таким образом, вы можете создать свои роли и в них определять часть интерфейса системы, доступную сотрудникам.
При создании сотрудников вам потребуется указать роль для каждого из них.
Когда созданный сотрудник зайдет в систему - он увидит только то, что вы определили для него.
Это служит базовым концептом для создания виртуальных АТС и дилерского доступа к системе.

Для определения областей видимости в ролях используются ACL (Access Control List).
ACL есть 3х типов:
  • глобальный. Определяет зону видимости элементов веб-интерфейса. Например, видимые меню на главной странице.
  • табличный. Определяет доступные операции на таблицах базы данных.
  • обработчика вызовов. Определяет доступные элементы в Обработчике вызовов

глобальный ACL имеет больший приоритет, чем табличный ACL. Заблокировав элемент в глобальном ACL он перестает быть видимым в меню веб-интерфейса и вы вообще не сможете в него зайти.
Однако заблокировав элемент на выборку в табличном ACL он остается видимым в меню, однако система отображает ошибку при попытке доступа или изменения (в зависимости от настроек доступа).

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

Таким образом, Вы можете настраивать роли 2-мя путями:
  1. заблокировать все по умолчанию и разблокировать по одной таблице/пункту меню через меню глобальный/табличной ACL
  2. разблокировать все по умолчанию и блокировать по одной таблице/пункту меню через меню глобальный/табличной ACL

Выбор подходящего метода зависит от того, хотите ли вы бОльшую часть отрыть или скрыть.

Каждый объект (каждая строка) в базе данных имеет идентификаторы связанных сотрудника и отдела.
При создании нового объекта (новой строки) эти идентификаторы устанавливаются в идентификатор сотрудника и отдела (которому принадлежит сотрудник), который создает этот объект.

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

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

Also available in: PDF HTML TXT