<< Click to Display Table of Contents >> Разработка > Элементы разработки > Разработка документов Шифрование документов |
По умолчанию в Directum RX не настроена возможность шифровать документы. Для настройки администратор разворачивает сервис ключей и определяет типы документов, которые можно будет шифровать.
Разработчику тоже доступна настройка шифрования документов. C помощью среды разработки вы можете настроить:
•программное шифрование документа;
•шифрование по кнопке из карточки документа;
•совместный режим шифрования и строгого доступа.
Важно. При модификации системы и настройке интеграции необходимо отслеживать, чтобы зашифрованные документы не уходили в другие системы, так как в них данные могут храниться в незащищенном виде. Если от имени пользователя, входящего в роль «Служебные пользователи», выполняется чтение или запись зашифрованных документов, то в лог-файле соответствующего сервиса Directum RX фиксируется ошибка (Error).
Программное шифрование документа
В этом варианте шифрование включается системой автоматически, в зависимости от логики, добавленной в программном коде. При этом пользователь вручную зашифровать документ не может. Для программной настройки используйте свойство IsEncrypted – признак того, что документ зашифрован.
Кроме того, в программном коде доступно свойство Encryption.IsEncryptionAvailable – признак того, что доступно шифрование документов. Возможные значения: true – шифрование доступно, false – шифрование недоступно. Свойство используется, если нужно предусмотреть поведение работы при развернутом шифровании и при отсутствии шифрования документов. Например, чтобы документ после согласования программно шифровался, если в системе настроено шифрование, и не шифровался, если возможность отсутствует. После того, как разработчик напишет программный код, необходимо в конфигурационный файл config.yml в секцию common_config добавить параметр DATA_ENCRYPTION_ENABLED и указать в нем значение true.
Пример. Программное шифрование приказов
Предположим, необходимо, чтобы при создании приказа он автоматически шифровался. Для этого перекройте тип документа «Приказ» (Sungero.RecordManagement.Order) и добавьте код в событии сущности Создание.
ВАЖНО. Шифруется и содержимое версии документа (Body), и его представление (PublicBody).
public override void Created(Sungero.Domain.CreatedEventArgs e)
{
base.Created(e);
_obj.IsEncrypted = true;
}
Шифрование по кнопке из карточки документа
В этом варианте настройки пользователь с полными правами сам шифрует нужный ему документ по кнопке в карточке.
Настроить шифрование по кнопке из карточки можно следующими способами:
•администратор в конфигурационном файле добавляет параметр, и перечисляет в нем идентификаторы типов документов, для которых доступно шифрование;
•разработчик переопределяет действие ToggleEncryption – зашифровать или отключить шифрование документа. Например, разработан новый тип документа и нужно, чтобы пользователи могли шифровать документы этого типа. Для этого в редакторе типа документа в событии Выполнение/Возможность выполнения переопределите логику работы действия. Подробнее пример разработки см. в разделе «Как настроить шифрование договоров».
© Компания Directum, 2024 |