Запрет на редактирование и удаление документа

Работа с правами доступа к папкам и документам


avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Запрет на редактирование и удаление документа

Сообщение avkim » 23 май 2012, 12:28

Добрый день!
Как защитить документ от редактирования и удаления, если он уже прошел некоторую стадию, например, подписан и зарегистрирован?
Или после регистрации документа нужно его скопировать или переместить в какой-нибудь журнал, их которого нельзя ничего удалить или сделать изменения.
Во общем нужно обеспечить сохранность электронного документа, а то получается был документ, его согласовывали, подписывали, регистрировали. А потом его взяли и удалили. и где его потом искать?

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Запрет на редактирование и удаление документа

Сообщение avkim » 24 май 2012, 06:33

А-ууу!
А ответ будет?

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Запрет на редактирование и удаление документа

Сообщение Andrew » 24 май 2012, 10:08

Для "классических" документов которые проектируются - например для Исходящего письма, работает это так:

1) некий сотрудник "Вася" создал документ, прицепил файлы, запустил на согласование
2) этот "Вася" физически является владельцем, имеет полный доступ на свой документ и свои файлы
3) в момент, когда документ "регистируют" это делает обычно сотрудник канцелярии (группа регистраторы), и специальная подсистема на сервере "забирает" права у "Васи" и передает их регистратору. После этого "Вася" уже не сможет ничего изменить - ни файл, ни поля в своем документе.

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

Учитывая что функция эта весьма востребована, на данный момент есть два способа как решить эту задачу:
1) некий сотрудник "Вася" шлет документ на согласование и прочее,
2) когда этап завершен , документ должен попасть к некоторому сотруднику "Регистратор", который будет обладать правами доступа чтобы "забрать" все права у Васи (владение документом) и таким образом заблокировать ему доступ.
Это можно делать вручную, но как я подозреваю, не очень удобно.

Поэтому я предлагаю использовать скрипт (C#) и сделать простую кнопку на карточке документа - "Забрать права", ее можно будет нажать если вы член определенной группы доступа и она решит эту задачу. Я попрошу коллег разработать пример такого скрипта, и как только он будет готов, его опубликуют в этой теме.

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Запрет на редактирование и удаление документа

Сообщение avkim » 24 май 2012, 10:26

Спасибо! Готовый скрипт - это было бы круто!
А новый релиз - еще круче!))))
Ждем!

Аватара пользователя
Гулый Роман
Разработчики FossDoc
Сообщения: 45
Зарегистрирован: 19 янв 2011, 10:10
2 + 2 = ?: 4
Контактная информация:

Re: Запрет на редактирование и удаление документа

Сообщение Гулый Роман » 24 май 2012, 15:54

Для того, чтобы подключить скрипт к вашему типу документа, необходимо запустить систему администрирования, на закладке "Библиотеки документов", выбрать необходимую библиотеку, и в дереве "Типы документов" необходимо найти нужный тип документа. Далее, стоя на этом типе документа, перейти на вкладку "Скрипты". Если там пусто, то необходимо создать новый скрипт и на вкладке "Вложенные файлы" добавить два файла из архива, который прилагается в этом письме. Если там есть скрипт, необходимо заменить его вложенные файлы на новые из архива.
ChoiceType.jpg
ChoiceType.jpg (204.21 КБ) 6320 просмотров
В архиве находится два файла: Form.cs и FormInfo.cs. В каждом из них необходимо заменить несколько строчек.
FormInfo.cs:
В файле FormInfo.cs необходимо в секции "CategoryNames" заменить имя на уникальное имя вашего документа (просто копируем уникальное имя с закладки "Объект")
UniqNameType.jpg
UniqNameType.jpg (221.54 КБ) 6321 просмотр
CategoryNames.jpg
CategoryNames.jpg (23.21 КБ) 6321 просмотр
Файл Form.cs:
В файле Form.cs необходимо заменить идентификатор группы, которую вы создадите для тех пользователей, которые смогут изменять права на документе:
ChangeOID.jpg
ChangeOID.jpg (56.94 КБ) 6320 просмотров
На этом со скриптом все действия окончены.
Переходим к настройке прав на папку, в которой будут создавать документы. В необходимой библиотеке, в дереве "Папки" выбрать необходимую папку и перейти на вкладку "Доступ". Далее, в выпадающем списке необходимо выбрать сотрудника, который будет создавать документы. Уровень доступа выбираем ему "Автор":
Author.jpg
Author.jpg (132.12 КБ) 6319 просмотров
Затем, стоя на папке вызываем контекстное меню с помощью правой кнопки мыши и выбираем пункт "Разрешения"
Access.jpg
Access.jpg (138.04 КБ) 6321 просмотр
Далее добавляем пользователя, который может менять права для этого документа. Для него нужно настроить права по особенному. Нажимаем на синею птичку и жмем на кнопку "Дополнительно":
Button.jpg
Button.jpg (61.42 КБ) 6323 просмотра
Далее, в появившемся окне для необходимого пользователя настраиваем права как показано на рисунке ниже и жмем кнопку "ПРименить":
SettingAccess.jpg
SettingAccess.jpg (65.58 КБ) 6316 просмотров
Теперь, когда пользователю, который может менять права придет в папку "Входящие" поручение этого типа, на вкладке "Карточка" появится кнопка "Сменить права":
ChangeAccess.jpg
ChangeAccess.jpg (65.04 КБ) 6316 просмотров
Архив с файлами для скрипта прикреплен.
Script.zip
(2.74 КБ) 181 скачивание

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Запрет на редактирование и удаление документа

Сообщение avkim » 25 май 2012, 08:02

Спасибо! Вроде работает, но у автора документа после того, как согласующий нажал кнопку "Сменить права", осталось право прикреплять файлы. Удалять файлы не может. Согласующий тоже может прикреплять файлы, но не удалять их.
Так разве правильно?

Аватара пользователя
Гулый Роман
Разработчики FossDoc
Сообщения: 45
Зарегистрирован: 19 янв 2011, 10:10
2 + 2 = ?: 4
Контактная информация:

Re: Запрет на редактирование и удаление документа

Сообщение Гулый Роман » 25 май 2012, 08:43

Действительно, так и есть, чтобы от этого избавиться необходимо проделать следующие шаги:
Стоя на необходимой папки в администрировании, необходимо перейти на закладку "Доступ", и для пользователя, который будет создавать документы выставить уровень доступа "Читатель":
Reader.jpg
Reader.jpg (135.07 КБ) 6307 просмотров
Затем, стоя на этой папке вызвать контекстное меню, выбрать пункт "Разрешения", нажать на синею птичку, нажать на кнопку "Дополнительно", выбрать пользователя-автора документов, перейти на закладку "Создание подобъектов", и установить галочку на "Документы":
Documents.jpg
Documents.jpg (69.22 КБ) 6308 просмотров
Затем нажать на кнопку "Применить" и кнопку "Ок".

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Запрет на редактирование и удаление документа

Сообщение avkim » 25 май 2012, 10:14

Сделал по Вашей инструкции. Да, теперь у автора документа пропала возможность прикреплять файлы, но у согласующего эта возможность осталась. Как убрать?

Стал смотреть дальше. Оказывается право на управление правами доступа к документу перешли к тому, кто нажимал кнопку "Сменить права", точнее к группе "нажимальщиков" этой кнопки.
В итоге легче не стало. Как этот документ мог кто-нибудь редактировать и управлять доступом к нему, так и осталось. Просто люди поменялись. В моем случае это был только автор документа, а после скрипта стала группа "нажимальщиков" кнопки "Сменить права".

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

А как отключить при помощи настройки уровней разрешений возможность управлять разрешениями в карточке документа?

Аватара пользователя
Andrew
Разработчики FossDoc
Сообщения: 869
Зарегистрирован: 26 дек 2008, 16:03

Re: Запрет на редактирование и удаление документа

Сообщение Andrew » 25 май 2012, 11:15

Идея состоит в том, чтобы эту кнопку мог нажать лишь тот, кому люди доверяют - т.е.ответственный. На самом деле что мешает вам, как администратору, зайти и "подправить" кое что для себя? Ничто не мешает - защитить от действий администратора может только цифровая подпись (ЭЦП).

Поэтому у вас бизнес-процесс должен выглядеть так:
1) автор создал документ
2) послал первому ответственному человеку - тот забрал на себя права
3) далее посылка всем кому нужно на согласование, исполнение и т.п., и все.

По крайней мере вы будете знать что если кто что и менял - то вот это тот "ответственный человек" или администратор системы в целом. Это рецепт "Без ЭЦП". Плюс - подключите Историю документов, она точно покажет кто там что менял, так что концы можно найти будет.

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

Также вопрос про "...автоматом без нажатия кнопок ...что-то сделать" - да , можно и так. Например такое может делать внешний модуль к серверу, он работает от имени учетки администратора и может ловить события "запуск точки маршрута", что-то сотворить с документом (например у всех забрать права). Правда разрабатывать такой модуль - скажем так, по нему стоит составить тех.задание и все продумать, наши клиенты могут заказать что угодно - так что нет ничего невозможного.

Кстати говоря, а модуль "заявок" вам удалось запустить? Мой ответ по лицензиям вам помог?

avkim
Пользователь
Сообщения: 186
Зарегистрирован: 03 апр 2012, 05:54
2 + 2 = ?: 4

Re: Запрет на редактирование и удаление документа

Сообщение avkim » 25 май 2012, 11:56

Спасибо!
На счет модуля заявок - экспериментировать пока не стал, решил дождаться "нормального" решения проблемы вашими спецами, без моего вмешательства. А то натворю не то и ...))))

Что касается скрипта. Честно говоря не впечатлило. переход прав из одних рук в другие не решают проблемы. Решил оставить по старому, автор документа в карточке указывается ответственным исполнителем, вот и пусть несет ответственность, во всяком случае пока так. Отслеживать изменения будем через ЭЦП, историю, аудит. Правда при длинном бизнес-процессе в этой каше долго разбираться надо, особенно, если все не шло как хотелось бы.

Как вернуть теперь скипты, которые стояли у меня по-умолчанию до изменений. А они у меня были и я их подменил Вашими и вносил соответствующие изменения.
Или их можно просто удалить?

Ответить

Вернуться в «Права доступа к папкам и документам»