<< Click to Display Table of Contents >> Разработка > Элементы разработки > Типы сущностей Авторизация |
![]() ![]() ![]() |
Авторизация – это процесс проверки прав пользователя перед выполнением действий в системе. Права могут быть выданы пользователю, группе или роли, в которую он входит. Права настраивает администратор в списке «Права доступа на типы объектов» или на панели «Управление разрешениями» в карточке пользователя, группы или роли. Также администратор может создать новый тип прав, если существующих в системе недостаточно для решения задач.
При необходимости создать новый тип прав может разработчик. При этом используются понятия:
•объект – то, над чем выполняется действие. Например, запись справочника Сотрудники, тип документа «Договор», функция регистрации или публикации разработки. С точки зрения объекта при подсчете результирующих прав для проверки учитываются:
•права, которые выданы непосредственно на объект;
•права на тип объекта;
•права базовых типов, которые наследуются объектом;
•субъект – тот, кто выполняет действие. В Directum RX все субъекты прав являются наследниками IRecipient. Полный список всех субъектов прав в стандартном решении Directum RX: пользователи (IUser), сотрудники (IEmployee), роли (IRole), прикладные группы пользователей (наши организации, подразделения, группы регистрации). С точки зрения субъекта при подсчете результирующих прав для проверки учитываются:
•права, выданные лично субъекту;
•права, выданные всем группам, в которые входит субъект;
•права, полученные по замещению и прочие специальные права;
•операция авторизации отображаются в проводнике системы в карточках записей списка Типы прав. Определяют, какие операции субъект может выполнять над объектом. Например, для записи справочника Сотрудники это может быть операция удаления, для типа документа «Договор» – операция создания нового документа, для функций регистрации или публикации разработки – операция выполнения.
Используйте узел «Авторизация», чтобы создать операции авторизации и задать способы проверки прав.
При создании типа сущности некоторые операции авторизации наследуются от базового типа. В списке элементов они выделены серым цветом. У наследуемых операций авторизации для изменения доступно только отображаемое имя.
*Способ авторизации, по которому определяется, что для выполнения операций с сущностью у пользователя должны быть права:
•Для экземпляра сущности. Например, права на конкретный документ в системе;
•Для типа сущности. Например, права на договорные документы;
•Для типа и экземпляра сущности. Права на тип сущности и на каждую сущность в отдельности. Выбираются максимальные из выданных прав. Например, если для договорных документов выданы права на просмотр, а на конкретный договор – права на изменение, то у пользователя будут права на изменение договора.
*Доступ при программной работе. Уровень доступа к данным, которые используются системой при выполнении программного кода. Возможные значения:
•Как в правах – набор доступных операций определяется правами пользователя. Значение по умолчанию;
•Чтение – доступна только операция чтения;
•Полный – доступны все операции.
Если выбрано значение Чтение или Полный, то система программно может читать или изменять данные, даже если пользователю явно не выданы права доступа на сущность. Например, при загрузке веб-клиента в системе проверяется, есть ли у пользователя замещения. Для этого программно выполняется операция «Чтение» из справочника Замещения, при этом прав на справочник у пользователя нет.
Доступность полей *Способ авторизации и *Доступ при программной работе, а также набор их значений зависит от типа сущности, для которого настраиваются операции авторизации:
Тип сущности |
Доступность полей |
*Способ авторизации |
*Доступ при программной работе |
---|---|---|---|
Наследники Sungero.CoreEntities.DatabookEntry |
Изменение |
Доступны для выбора все возможные значения. Значение по умолчанию Для типа сущности |
Доступны для выбора все возможные значения. Значение по умолчанию Как в правах |
Наследники Sungero.CoreEntities.User |
Просмотр |
Для типа сущности |
Чтение |
Наследники Sungero.CoreEntities.Group |
Просмотр |
Для типа и экземпляра сущности |
Чтение |
Все типы документов, задач, заданий, уведомлений и заданий на приемку |
Просмотр |
Для типа и экземпляра сущности |
Как в правах |
Справочники, которые являются наследниками прикладных базовых типов |
Просмотр |
Такое же, как в базовом типе |
Такое же, как в базовом типе |
*Имя операции авторизации. Должно быть уникальным в рамках типа сущности, состоять из букв латинского алфавита и цифр.
*Отображаемое имя. Имя операции авторизации, которое будет отображаться в списке Типы прав. Для локализации перейдите по ссылке Локализовать.
*Операция. Код операции авторизации. Должен быть уникальным. Поле заполняется автоматически. Рекомендуется оставить значение по умолчанию.
Важно. При разработке прав доступа важно не допускать ситуаций, когда:
•сотрудник не видит данные в системе, которые он должен видеть;
•сотрудник видит и может изменять данные в системе, которые видеть и менять ему не положено.
Чтобы подобные ситуации не возникали, при разработке прав доступа учитывайте ряд особенностей и следуйте рекомендациям по реализации.
Пример создания операции авторизации Наследуемые операции. Типы документов Наследуемые операции. Типы задачи и заданий |
© Компания Directum, 2025 |