• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Oksana

Добрый день!

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

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

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

Как правильно реальзовать эту задачу?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Нужно подписать сервером или пользователем с правами.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Как запускается агент? Нужно запускать на сервере методом notesAgent.RunOnServer.
 
O

Oksana

Как запускается агент? Нужно запускать на сервере методом 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
 
O

Oksana

А что должно быть?
ну дак результат работы агента, в частности должны быть изменены несколько полей в док-те в той БД что у пользователя права читателя, а текущий документ должен изменить статус.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В этом случае нужно вызывать метод с параметром RunOnServer([noteID$]). В агенте получить нужный документ и обработать его. Посмотри в хелпе, там пример есть.
 
O

Oksana

В этом случае нужно вызывать метод с параметром RunOnServer([noteID$]). В агенте получить нужный документ и обработать его. Посмотри в хелпе, там пример есть.
так я именно этот пример из хелпа и использовала :)
чем дальше, тем меньше понимаю :D
 
30.05.2006
1 345
12
BIT
0
Ты где агент запускала? На станции? Тогда он выполняется с твоими правами (кем-бы он не был подписан). Права подписанта (и того, "от чьего имени") начинают играть при запуске агента на сервере, т.е. по расписанию/по new or modified/и - agent.RunOnServer
 
O

Oksana

Ты где агент запускала? На станции? Тогда он выполняется с твоими правами (кем-бы он не был подписан). Права подписанта (и того, "от чьего имени") начинают играть при запуске агента на сервере, т.е. по расписанию/по new or modified/и - agent.RunOnServer
У меня все получилось тем способом, что подсказал Medevic. На рабочих местах пользователей агент работает. Спасибо ^_^
 
Мы в соцсетях:

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