Запуск агента с правами автора

seoman2

Green Team
17.02.2010
507
1
BIT
72
Можно ли в документе, который открыт ридером (право чтения), повесить на кнопку лотус-скрипт агент, который будет иметь права автора? То есть сможет изменить какие то поля в документе.
 
K

Klido

можно запустить агент на сервере (при наличии прав), подписанный тем, кто имеет права изменять документ
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
Зачем мне на сервере агент запускать?
Он должен отрабатывать только по нажатию кнопки.
Можно поточнее как это сделать?
Чтобы у читателя документа отрабатывала кнопка изменяющая поле в документе.
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
119
Не может читатель изменять документ, это была бы большая дыра в безопасности)
Запускай на сервере, от имени юзера который имеет права на редактирование.
 
T

TIA

Можно ли в документе, который открыт ридером (право чтения), повесить на кнопку лотус-скрипт агент, который будет иметь права автора? То есть сможет изменить какие то поля в документе.
А вот св-во агента "Run on behalf of" не поможет в данном случае? (Мне самому не доводилось попробовать, к сожалению)
 

maliy

Green Team
20.03.2007
180
2
BIT
76
to kizarek
Если не трудно на примере(пример кода, или последовательность действий), покажи как запустить агент на сервере от имени пользователя которые имеет права на редактирование?
 
N

nvyush

maliy
Код:
Call db.GetAgent("Agent007").RunOnServer(doc.NoteID)
Можно сделать так:
1. Пользователь создаёт документ-запрос, в котором поля с NoteID обновляемого документа, а также обновляемые поля.
2. Вызывает агента (см. выше), указывая NoteID документа-запроса.
3. Агент по NoteID получает документ-запрос, из него получает NoteID обновляемого документа и выполняет необходимые операции.

Агент должен быть подписан пользователем, имеющим право редактирования документа, лучше сервером.
 
H

hosm

всю базу из домино администратора сервером подпишите
 

maliy

Green Team
20.03.2007
180
2
BIT
76
to nvy
Сделал агент - который получает Noteid обновляемого документа(то есть пользователь открывает документ и нажимает кнопку, по кнопке агенту передается Noteid открытого документа), и агент изменяет одно поле
(Set it = doc.ReplaceItemValue("TestField","Change"
Call doc.save(True,False))
под те кто может изменять документ агент срабатывает, под теми кто не может редактировать документ агент поле не изменяет.
Агент подписан тем кто может редактировать документ, для пущей уверенности подписал базу на сервере cert.id - ком
 
N

nvyush

to nvy
Сделал агент - который получает Noteid обновляемого документа(то есть пользователь открывает документ и нажимает кнопку, по кнопке агенту передается Noteid открытого документа), и агент изменяет одно поле
(Set it = doc.ReplaceItemValue("TestField","Change"
Call doc.save(True,False))
под те кто может изменять документ агент срабатывает, под теми кто не может редактировать документ агент поле не изменяет.
Агент подписан тем кто может редактировать документ, для пущей уверенности подписал базу на сервере cert.id - ком
Видимо, документ не виден серверу. Я обычно добавляю в ACL роль [Admin], включаю в неё сервер, добавляю её в поля Readers всех документов с ограниченным доступом.
 

maliy

Green Team
20.03.2007
180
2
BIT
76
to nvy
документ под тем кто может редактировать документ виден серверу, а под тем кто не может редактировать не виден, странно как то......
а можно по подробнее с ролью (как включить в нее сервер?, добавить в поле Readers c ограниченным доступом, немного не понятно с "ограниченным", по конкретнее если можно....)
П.С. Задача - не дать пользователю отредактировать документ явно(то есть через UI), пользователь видит документ но редактировать его не может, и вот нужно изменить одно поле, вот с агентом неплохая идея, но почему не работает......

Добавлено: To OKEN
база подписана - Sign, выбрать Active Server's ID
 
N

nvyush

to nvy
документ под тем кто может редактировать документ виден серверу, а под тем кто не может редактировать не виден, странно как то......
а можно по подробнее с ролью (как включить в нее сервер?, добавить в поле Readers c ограниченным доступом, немного не понятно с "ограниченным", по конкретнее если можно....)
П.С. Задача - не дать пользователю отредактировать документ явно(то есть через UI), пользователь видит документ но редактировать его не может, и вот нужно изменить одно поле, вот с агентом неплохая идея, но почему не работает......
В ACL базы добавляем роль "[Admin]" (или другую — на Ваш вкус). Включаем в эту роль сервер. В поле читателей документа дополнительно к пользователю включаем эту роль, т.е. поле будет иметь значения "CN=вася в пупкин/O=ИБМ":"[Admin]". Пользователя в поле авторов документа не включаем, у сервера должны быть права менеджера. Кажись всё.
 

maliy

Green Team
20.03.2007
180
2
BIT
76
вообще на форме в ридерах есть CN=вася в пупкин/O=ИБМ, есть отдельно поле ридерс в котором прописан сервер, у сервера права менеджера
 
N

nvyush

вообще на форме в ридерах есть CN=вася в пупкин/O=ИБМ, есть отдельно поле ридерс в котором прописан сервер, у сервера права менеджера
А в документе? Если сервер добавить в читатели в форме, нужно открыть и пересохранить документ. Далее, агент запускается на сервере (RunOnServer)? Если агент запускается на клиенте (Run), он будет выполняться с правами запустившего его.
 
H

hosm

В поле читателей документа дополнительно к пользователю включаем эту роль
и не забываем, если это поле есть на форме (подформе), поставить галку Allow multiple values, если ее не было!!!
А то больно плохо будет при уи-сохранении)
 

maliy

Green Team
20.03.2007
180
2
BIT
76
Всем спасибо
to nvy
to OKEN
Особая благодарность!!!
to nvy - было просто Run.....Поставил RunOnServer все заработало.
 
Мы в соцсетях:

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