Агент и права доступа к БД

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

Oksana

Добрый день!

Есть две БД. К первой БД у пользователя права доступа - автор, ко второй читатель.

Пользователь создает (изменяет) документ в первой БД, эти измения влекут за собой изменеия во второй БД, к которой у пользователя права читателя.

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

Как правильно реальзовать эту задачу?
 
Нужно подписать сервером или пользователем с правами.
 
Как запускается агент? Нужно запускать на сервере методом notesAgent.RunOnServer.
 
Как запускается агент? Нужно запускать на сервере методом notesAgent.RunOnServer.
раньше не использовала, туплю-с... :)
скопировала из хелпа код, подставила имя своего агента, выдает Success, но фактически ни чего не происходит.

1. This agent runs the agent named "Agent to be run LotusScript."
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Set agent = db.GetAgent("Agent to be run LotusScript")
If agent.RunOnServer = 0 Then
Messagebox "Agent ran",, "Success"
Else
Messagebox "Agent did not run",, "Failure"
End If
End Sub
 
А что должно быть?
ну дак результат работы агента, в частности должны быть изменены несколько полей в док-те в той БД что у пользователя права читателя, а текущий документ должен изменить статус.
 
В этом случае нужно вызывать метод с параметром RunOnServer([noteID$]). В агенте получить нужный документ и обработать его. Посмотри в хелпе, там пример есть.
 
В этом случае нужно вызывать метод с параметром RunOnServer([noteID$]). В агенте получить нужный документ и обработать его. Посмотри в хелпе, там пример есть.
так я именно этот пример из хелпа и использовала :)
чем дальше, тем меньше понимаю :D
 
Ты где агент запускала? На станции? Тогда он выполняется с твоими правами (кем-бы он не был подписан). Права подписанта (и того, "от чьего имени") начинают играть при запуске агента на сервере, т.е. по расписанию/по new or modified/и - agent.RunOnServer
 
Ты где агент запускала? На станции? Тогда он выполняется с твоими правами (кем-бы он не был подписан). Права подписанта (и того, "от чьего имени") начинают играть при запуске агента на сервере, т.е. по расписанию/по new or modified/и - agent.RunOnServer
У меня все получилось тем способом, что подсказал Medevic. На рабочих местах пользователей агент работает. Спасибо ^_^
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы