Назначение удаление прав пользователю на документ

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#1
Как логически верно построить процесс?

Пользователю назначаются права на выполнение одноразового действия по документу,
он добавляется в Authors \ Readers поля, он открывает, выполняет действие, и необходимо, чтобы в конце этой акции удалить
его полномочия из полей Authors \ Readers , как понимаю, из под прав пользователя после удаления себя их этих полей сохранить док ему уже не удастся.

Какие есть варианты: ?

- в акции запускать агент под правами сервера или на сервере ?
- или что-то можно придумать еще?
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#2
Ну у меня сразу примерно такая же идея возникла:
пишем в какое-нить временное поле имя юзера, которого надо удалить и где-то на PostSave (точнее где-то после закрытия мне кажется) запускаем серверного агента с параметром NoteID обрабатываемого документа.
Агент выкидывает кого не надо из ридеров/авторов.

Может действительно есть лучше идеи?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#3
Создавать копию документа. Пусть делает в нем что хочет. Агент потом собирает изменения в основной документ.
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#4
Создавать копию документа. Пусть делает в нем что хочет. Агент потом собирает изменения в основной документ.
а если в PostSave основного документа , отслеживать некий триггер и зупускать агент на сервере на очистку полей?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#5
Если это делать в PostSave, то можем получить конфликт. Пользователь может продолжить работать с не измененным документом. Или в PostSave надо принудительно закрывать документ. Что не очень красиво.
Если в QueryClose, то может вообще не сработать.
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#6
Если это делать в PostSave, то можем получить конфликт. Пользователь может продолжить работать с не измененным документом. Или в PostSave надо принудительно закрывать документ. Что не очень красиво.
Если в QueryClose, то может вообще не сработать.
моем случае, документы закрываются принудительно, из дочернего, с начало дочерний после сохранения и за ним закрывается родительский документ, а после этого нужно отнять у текущего пользователя права даже на видимость этих доков..
поэтому в постсейв наверное будет как раз.
 
#7
Как логически верно построить процесс?
Пользователю назначаются права на выполнение одноразового действия по документу,
он добавляется в Authors \ Readers поля, он открывает, выполняет действие...
Логически верно - дать права не на документ а на само действие.
Т.е. создать новый документ:
Форма: "право на выполнение одноразового действия по документу"
поля: действие ; документ-таргет ; пользователь

Именно на основании существования этого документа предоставляется право совершить действие. Действие ( результат действия ) - опять же документ, можно респонсом к праву. Действие обработать серверным агентом.
Вот как-то так...
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#8
Логически верно - дать права не на документ а на само действие.
Т.е. создать новый документ:
Форма: "право на выполнение одноразового действия по документу"
поля: действие ; документ-таргет ; пользователь

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

Constantin A Chervonenko

Well-Known Member
Lotus team
#9
А по-моему юзер сможет сам себя лишить доступа.
Сервер-же проверяет доступ к существующему в базе док-ту, а не тому образу, который в уме у юзера (на его раб.станции)

Так что нефиг мудрить :)
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#10
А по-моему юзер сможет сам себя лишить доступа.
Сервер-же проверяет доступ к существующему в базе док-ту, а не тому образу, который в уме у юзера (на его раб.станции)

Так что нефиг мудрить :)
Спасибо, проверю и этот вариант еще раз :)
 

morpheus

скриптописец
07.08.2006
3 915
1
34
Украина, Киев
#11
А по-моему юзер сможет сам себя лишить доступа.
Сервер-же проверяет доступ к существующему в базе док-ту, а не тому образу, который в уме у юзера (на его раб.станции)

Так что нефиг мудрить
угу, вроде может


а если включена ф-ция Lock то точно сможет сам себя отшить