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

  • Автор темы Автор темы seoman2
  • Дата начала Дата начала

seoman2

Green Team
17.02.2010
507
1
BIT
72
Можно ли в документе, который открыт ридером (право чтения), повесить на кнопку лотус-скрипт агент, который будет иметь права автора? То есть сможет изменить какие то поля в документе.
 
можно запустить агент на сервере (при наличии прав), подписанный тем, кто имеет права изменять документ
 
Зачем мне на сервере агент запускать?
Он должен отрабатывать только по нажатию кнопки.
Можно поточнее как это сделать?
Чтобы у читателя документа отрабатывала кнопка изменяющая поле в документе.
 
Не может читатель изменять документ, это была бы большая дыра в безопасности)
Запускай на сервере, от имени юзера который имеет права на редактирование.
 
Можно ли в документе, который открыт ридером (право чтения), повесить на кнопку лотус-скрипт агент, который будет иметь права автора? То есть сможет изменить какие то поля в документе.
А вот св-во агента "Run on behalf of" не поможет в данном случае? (Мне самому не доводилось попробовать, к сожалению)
 
to kizarek
Если не трудно на примере(пример кода, или последовательность действий), покажи как запустить агент на сервере от имени пользователя которые имеет права на редактирование?
 
maliy
Код:
Call db.GetAgent("Agent007").RunOnServer(doc.NoteID)
Можно сделать так:
1. Пользователь создаёт документ-запрос, в котором поля с NoteID обновляемого документа, а также обновляемые поля.
2. Вызывает агента (см. выше), указывая NoteID документа-запроса.
3. Агент по NoteID получает документ-запрос, из него получает NoteID обновляемого документа и выполняет необходимые операции.

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

Добавлено: To OKEN
база подписана - Sign, выбрать Active Server's ID
 
to nvy
документ под тем кто может редактировать документ виден серверу, а под тем кто не может редактировать не виден, странно как то......
а можно по подробнее с ролью (как включить в нее сервер?, добавить в поле Readers c ограниченным доступом, немного не понятно с "ограниченным", по конкретнее если можно....)
П.С. Задача - не дать пользователю отредактировать документ явно(то есть через UI), пользователь видит документ но редактировать его не может, и вот нужно изменить одно поле, вот с агентом неплохая идея, но почему не работает......
В ACL базы добавляем роль "[Admin]" (или другую — на Ваш вкус). Включаем в эту роль сервер. В поле читателей документа дополнительно к пользователю включаем эту роль, т.е. поле будет иметь значения "CN=вася в пупкин/O=ИБМ":"[Admin]". Пользователя в поле авторов документа не включаем, у сервера должны быть права менеджера. Кажись всё.
 
вообще на форме в ридерах есть CN=вася в пупкин/O=ИБМ, есть отдельно поле ридерс в котором прописан сервер, у сервера права менеджера
 
вообще на форме в ридерах есть CN=вася в пупкин/O=ИБМ, есть отдельно поле ридерс в котором прописан сервер, у сервера права менеджера
А в документе? Если сервер добавить в читатели в форме, нужно открыть и пересохранить документ. Далее, агент запускается на сервере (RunOnServer)? Если агент запускается на клиенте (Run), он будет выполняться с правами запустившего его.
 
В поле читателей документа дополнительно к пользователю включаем эту роль
и не забываем, если это поле есть на форме (подформе), поставить галку Allow multiple values, если ее не было!!!
А то больно плохо будет при уи-сохранении)
 
Всем спасибо
to nvy
to OKEN
Особая благодарность!!!
to nvy - было просто Run.....Поставил RunOnServer все заработало.
 
Мы в соцсетях:

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