Пример проверки прав доступа пользователя на объект справочника |
![]() ![]() ![]() |
Пользователь может получить несколько разных доступов на один и тот же объект (например, доступ непосредственно пользователю и доступ группе, в которую данный пользователь входит).
На приведённой ниже схеме представлены три варианта доступов, назначенных Пользователю 1 на Объект 1:
1.Косвенный доступ "А". Назначен Группе 1 на объекты Справочника.
Разрешает операции: просмотр, редактирование, удаление.
Так как Справочник является линейным, то доступ "А" наследуется на все входящие объекты, в том, числе и на Объект 1. Пользователь 1 получает доступ к Справочнику и Объекту 1, так как входит в Группу 1.
2.Прямой доступ "Б". Назначен Пользователю 1 на Объект 1.
Разрешает операции: просмотр, редактирование.
Запрещает операцию: удаление.
3.Прямой доступ "В". Назначен Группе 2 на Объект 1.
Разрешает операции: просмотр, редактирование, удаление, изменение доступа.
Пользователь 1 получает доступ к Объекту 1, так как входит в Группу 2.
По правилу суммирования доступов операция (чтение, редактирование, удаление и т.п.) будет разрешена в том случае, если для пользователя или для одной из групп, куда он входит есть разрешение на её выполнение и нет запрета. Таким образом, анализируя все три доступа, Пользователь 1 может выполнять с Объектом 1 операции просмотра, редактирования и изменения доступа. Операция "удаление" будет запрещена, так как её запрещает Доступ "Б".