Мы используем формы InfoPath 2013 на сервере SharePoint 2013.

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

После того как форма подписана внизу формы появлятся два следующих линка: "Show details" и "Remove". Нажав на "Show details" во всплывающем окне можно просмотреть верификационную информацию о подписи. А вот "Remove" это самая большая головная боль. Дело в том, что использя "Remove" любой пользователь с доступом в SharePoint может легко удалить цифровую подпись, изменить и сохранить форму. Это полностью лешает смысла в использовании цифровой подписи.

Нам удалось с помощью JavaScript-а на клиентской машине скрыть "Remove" рядом с цифровой подписью. Однако эта решение не пригодно в случае если JavaScript отключен.

Задача 1: Требуется не на клиентском уровне, а на серверном уровне исключить возможность появление "Remove" после подписания формы, чтобы никто, даже сам владелец, не мог бы удалить свою подпись.

При открытие же уже подписанной формы всплывает сообщение (с кнопкой OK) предупреждающее, что все поля формы заблокированы, так как она уже подписана, и если нужно что-то изменить, сначала следует удалить подпись с помощью того же "Remove".

Задача 2: Требуется чтобы при открытие уже подписанной формы никаких сообщение не всплывало, все поля формы оставались бы заблокированными и "Remove" рядом с цифровой подписью отсутствовал. Более того, чтобы кнопки "Submit", "Save", "Save As" также были деактивированы.

Дополнительная информация в скриншотах.

10 лет назад
Re-Maker
Вусал 
46 лет
17 лет в сервисе
Был
2 года назад

Заявки фрилансеров

Нет заявок фрилансеров