Как запретить пользователю добавлять доступ на чтение через свойства документа?

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
1610624842194.png


либо как то отследить, кто это делает, записать в лог

Заранее благодарю!
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
528
+1 @lmike
создаете модель, которая хранится "где-то", при сохранении запись происходит только в бэке и только полей из модели.
все остальные правки пользователей просто игнорируются кодом.
на самой форме можно использовать saveoption = 0, то есть любые сохранения в UI будут игнорироваться и только код в бэке решает.
Но переход на такую работу - переработка всей кодовой базы, имейте это в виду.
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Чего то не понимаю.
Есть документ в виде. Пользователь кликает правой правой мышой на доке, выбирает свойства, затем ключик, затем добавляет права просмотра некоему пользователю.
Факт что у некоего пользователя теперь права на просмотр.
Как это отследить/запретить?
Событий то никаких не происходит. saveoptions в документе не работает
все равно появляется поле $readers с левым пользователем
 

Mikle_GB

Lotus Team
07.07.2016
70
25
BIT
65
Полагаю, что на уровне обычного лотусового программирования - никак. Если только на сервере перехватывать сохранение документа - свой хук писать... saveoptions, события - всё работает ток при редактировании через форму, а не через "чёрный ход" свойств. Примерно так же, как невозможно перехватить правку сканезом через qSave формы.
ps Если кто делал подобное - пишите, тема интересная.
 

swyatogor

Green Team
24.02.2014
594
24
BIT
4
Чего то не понимаю.
Есть документ в виде. Пользователь кликает правой правой мышой на доке, выбирает свойства, затем ключик, затем добавляет права просмотра некоему пользователю.
Факт что у некоего пользователя теперь права на просмотр.
Как это отследить/запретить?
Событий то никаких не происходит. saveoptions в документе не работает
все равно появляется поле $readers с левым пользователем
Могу только предложить сделать вид с отбором по полю этому и при появлении документов - зачищать документы от этого поля..
select @avialable($Readers)
как-то так..
 

Mikle_GB

Lotus Team
07.07.2016
70
25
BIT
65
Могу только предложить сделать вид с отбором по полю этому и при появлении документов - зачищать документы от этого поля..
select @avialable($Readers)
как-то так..
Сервер может и не увидеть эти документы, если в других readers-полях его не окажется. А вот агент по новым/изменённым документам с полными адм. правами - самое то) зараз поймает, кто косячит (по автору изменения документа), ябеду админу напишет и заодно поле почистит в документе. Workaround, так сказать.
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Подскажите, может можно как то заявку сделать индусам, чтобы они ввели событие изменение документа в базе?
В агент или в датабэйс скрипт, типа "QuerySaveDocument"?

Чтобы отлавливать, если документ сохраняется на скрипте, через апи, сервером, через форму, а также как в вышеуказанном случае через проперти,

типа как агент перед приходом почты.
 

rinsk

Lotus Team
12.11.2009
1 156
126
BIT
43
Подскажите, может можно как то заявку сделать индусам, чтобы они ввели событие изменение документа в базе?
В агент или в датабэйс скрипт, типа "QuerySaveDocument"?

Чтобы отлавливать, если документ сохраняется на скрипте, через апи, сервером, через форму, а также как в вышеуказанном случае через проперти,

типа как агент перед приходом почты.
Ох... и так не шибко шустро на запись, еще тормоза на аудит появятся...)
Тут более подошел бы механизм подписок на события , но обещанное еще в 11 версии так и не сделали... (
 

Mikle_GB

Lotus Team
07.07.2016
70
25
BIT
65
Заявку-то сделать можно, индусы ажно сайтик запилили для сбора пожеланий , вот ток сомневаюсь что дело выгорит, и совершенно уверен, что быстро этого не случится. Пусть амбассадоры поправят, если ошибаюсь.
Решения предлагать сложно, не зная всех нюансов задачи. Если по полной программе - я бы посмотрел в сторону разработки хука на клиенте, либо своей server task/javaAddin, которые следили бы за сохранением документов и ругались на наличие $Readers. Но для этого надо искать не просто лотусиста, а человека с опытом подобных задач. Если закостылить - то агента, который будет ловить косячные документы, это даже я могу сделать:)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!