Как защитить док-т от изменений?

Тема в разделе "Lotus - Программирование", создана пользователем Oksana, 21 сен 2007.

  1. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    Никогда не использовала подписанные поля.
    Задача следующая.
    Пользователь создает заявку. Необходимо, чтобы после отправки заявки на согласование ее никто не мог изменить, а если изменеия были это сразу стало видно. Я хочу чтобы не осталось незамеченным и изменение поля агентом, например.
    Так понимаю, что необходимо использовать параметр безопасности поля: Подписывать при отправке и сохранении в разделе.
    Но в целом как это работает не поняла.
    Поясните, пожалуйста.
     
  2. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    попробовала, создала раздел в нем подписываемые поля. Документ сохранила, затем изменила одно из полей агентом. При открытии документа было выдано сообщение:
    Документ был изменен или поврежден уже после того, как был подписан!
    Затем документ открывается. Нельзя ли как-то конкретизировать сообщение, какие поля были изменены?
    Есть ли какое-либо поле которое отражает вот это нарушение подписи, по которому, например, можно было бы отобрать подобные документы?
     
  3. fvoice

    fvoice Гость

    Поле $SignatureStatus, доступно после события QueryOpen и не доступно после PostClose, принимает значения:
    0 - не подписан
    1 - подписан
    2 - подписан и кем то изменен(нарушен)

    ИМХО Узнать какое конкретно поле было изменено обычными средствами по моему никак нельзя, также как и отобрать документы с нарушенными подписями не открывая их.
     
  4. root

    root Гость

    Для: Oksana
    Вам ЭЦП нужна или просто что док был изменен ?
     
  5. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    Мне нужно исключить возможность изменений. На уровне полей это понятно, но агентом эта возможность остается. Поэтому нужно иметь уверенность, что документ не изменялся.
    В идеале, если такое все же произшло, то кем, когда, каким образом.
     
  6. root

    root Гость

    Для: Oksana
    Можно попробывать поля в профиль занести по кнопке "подписать ".
    и при открытии сравнить.
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Oksana
    А через поля типа Authors запретить редактирование?
     
  8. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    Это в обязательно порядке, но для рядовых пользователей.
    Но я как админ( и дизайнер в одном лице) агентом могу изменять значения полей, во многих рабочих ситуациях это порой требуется.
    Но в данном случаем, нужно этого избежать, то есть ни каких изменений документа после сохранения не должно происходить.
     
  9. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    ЭЦП - это шифрованный хеш ("контрольная сумма") ВСЕХ подписываемых полей (ну, или секции - тогда у каждой м.б. своя ЭЦП). Проверка суммы позволяет отловить факт изменения содержимого, но какого из слагаемых...
    Тем не менее:
    отловив факт бития подписи, можно проанализировать LastModified защищаемых полей + $UpdatedBy. Т.о. вы поймаете диверсанта
     
  10. maliy

    maliy Well-Known Member

    Регистрация:
    20 мар 2007
    Сообщения:
    134
    Симпатии:
    0
    to Oksana
    А как решили проблему - "Необходимо, чтобы после отправки заявки на согласование ее никто не мог изменить, а если изменеия были это сразу стало видно."
    у меня сейчас такая задача стоит , подскажите пожалуйста
     
Загрузка...

Поделиться этой страницей