Для реализации разделения прав доступа используются категории "группа пользователей" и "роль пользователя".


Группа пользователей обеспечивает разграничение прав доступа по субъектам и объектам права.

Субъектом права выступает пользователь, представляемый его учетной записью.

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

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

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

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

В системе реализована дискреционная модель доступа с наследованием прав доступа по иерархии структуры.


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

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

Количество ролей определяется на этапе разработки системы и неизменно в процессе ее эксплуатации.

Объем возможностей каждой роли определяется в техническом задании.

Схема ролевой модели, реализованная в системе, увязывает между собой:

  • учетные записи;
  • роли;
  • группы;
  • права доступа;
  • объекты права;
  • пользовательский интерфейс.