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

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

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

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

Агенты

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

Hedg

В агентах не силён, так как никогда ещё не пользовался.

Возник вопрос, пользователи имет статус Reader но должны иметь возможность изменить занчения нескольких полей. Что бы не котролировать список полей на доступ и не давать автора пришла в голову идея использовать агент. Соотетственно вопрос, можно ли выполнить агент а режиме просмотра документа или это уже UI (соответственно агент не пашут), если да то как указать агенту изменить текущий документ.
 
F

Fossil Code

Верно, если агент выполняется на сервере, то он может выполняться с правами дизайнера или самого сервера. Агенты работают и в режиме просмотра, и UI, только они изменяют "бэкенд" документа, док. придется пересохранять и обновлять передний план, т.е. UI. Агенту не нужно ничего указывать, его нужно вызвать по кнопке из самого документа, т.е. явно вызывать агента, когда требуется редактирование. Если имелось в виду, "как из агента получить доступ к текущему документу", то есть такая метода в скрипте:
Collecting all documents and all unprocessed documents, см. хелп дизайнера, первый необработанный и есть текущий.
 
H

Hedg

А можно поподробнее про Unprocessed статус документа, а то что-то мои знания английского меня подводят, не могу никак понять я этого в хелпе.
Ещё вопрос если из вью открыт на просмотр документ(любой т.е не первый и не последний) то при создании колекции Unprocessed документов он будет первый???
 
F

Fossil Code

Это способ получить доступ к коллекции документов вида. Если ни один из них не выбран, то единственный документ в коллекции будет текущий, на котором кликнули в виде. Если выбрано несколько, то коллекция их и содержит. Называется так потому, что в основном используется в агентах для получения списка документов, которые следует обработать. Вот пример из хелпа, который выбирает из вида текущий или все выбранные документы и проставляет им статус по условию.

Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
While Not(doc Is Nothing)
Set item = doc.GetFirstItem( "Approver" )
If item.Contains( session.UserName ) Then
doc.Approved = "Yes"
Call doc.Save( False, True )
End If
Set doc = collection.GetNextDocument(doc)
Wend
End Sub
 
L

LuMee

Тоже есть глупый вопрос по агентам: а как указать агенту, от имени какой учетки он будет работать на сервере?
 
H

Hedg

Для: LuMee
В свойствах агента выставляется, в последней вкладке от имени кого он будет работать.

Для: Fossil Code
А если агент запускается из открытого дока в режиме просмотра?? он будет единственнным в коллекции?
 
F

Fossil Code

А если из открытого документа, то... да.
 
30.05.2006
1 345
12
BIT
0
Тоже есть глупый вопрос по агентам: а как указать агенту, от имени какой учетки он будет работать на сервере?
До 6-ки - никак. Фоновый агент работает от имени своего автора.
В 6-ке появилась возможность запускать агент от чужого имени. Но на это надо получить особые права
 
L

LuMee

Для: LuMee
В свойствах агента выставляется, в последней вкладке от имени кого он будет работать.
Забыл в свое время отписаться: не нашел я ничего похожего в свойствах агента. На последней вкладке только всякие ID, редактировать нечего. Кстати, у меня Лотус 5
 
E

Elena Nefedova

Для: Hedg
Почему бы не использовать в нужных формах флаг
"Available to Public Access Users" и сделать описанные в хелпе добавления к формам?
А нужным пользователям просто дать право на редактирование публичных документов.
Примечание: после включения этого флага в св-вах формы надо в ранее созданные документы добавить поле $PublicAccess="1"
 
30.05.2006
1 345
12
BIT
0
Для: Hedg
Почему бы не использовать в нужных формах флаг
"Available to Public Access Users" и сделать описанные в хелпе добавления к формам?
А нужным пользователям просто дать право на редактирование публичных документов.
Гм.. В исходной постановке требовалось обеспечить доступ к некоторым полям, а не всему документу. Если, конечно, я правильно понял автора
 
E

Elena Nefedova

Для: Constantin A Chervonenko
Ну, учитывая, что доступ Reader не предполагает возможности создания собственных форм, что существуют разделы с управляемым доступом, и что не обязательно всем разрешать создание агентов, можно и ограничить доступ к полям документа :lol:
 
E

Elena Nefedova

Для: Constantin A Chervonenko
<!--QuoteBegin-Constantin A Chervonenko+12:03:2007, 23:55 -->
<span class="vbquote">(Constantin A Chervonenko @ 12:03:2007, 23:55 )</span><!--QuoteEBegin-->... в ЭТОЙ базе. А в соседних? А SmartIcon? Не.. если действительно речь идет о защите.
[snapback]58826" rel="nofollow" target="_blank[/snapback]​
[/quote]В общем, да - "соседние" базы не обязательно подконтрольны менеджеру текущей.
Опять мы возвращаемся к вашей старой мудрости, что "надо лучше проектировать" :)
Ну, а раз не спроектировали лучше, то обходим препятствия в зависимости от текущих потребностей безопасности :p
 
H

Hedg

Пытаюсь из QuerySave запустить агента
Код:
.................
If Len(doc.FieldGetText("RunAgent"))=1 Then
Set agent = db.GetAgent("AuthorClear")
Call agent.RunOnServer
End If

И не получается, пишет Notes error: Unsupported trigger and search in thr background or embedded agent
 
H

Hedg

Решил пока проблему используя шедулер, но там минимальное время срабатывания 5 минут, никак нельзя сделать меньше???
 
M

morpheus

Можно, в администраторе в документе сервера, закладка Notes.ini Settings
поиграйтесь с AMGR_ xxxx так точно не помню какой параметр, там подсказки есть, помню шо по дефолту - 30 минут
 
H

Hedg

Для: Medevic
А как тогда он работаь будет??? Какие условия его срабатывания???
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--QuoteBegin-Hedg+19:03:2007, 17:07 -->
<span class="vbquote">(Hedg @ 19:03:2007, 17:07 )</span><!--QuoteEBegin-->А как тогда он работаь будет??? Какие условия его срабатывания???
[snapback]59479" rel="nofollow" target="_blank[/snapback]​
[/quote]
Шедульный агент. Время срабатывания - never. Цель - все документы.
Запускаешь методом RunOnServer. В параметрах указываешь NoteID текущего документа.
В агенте получаешь этот документ методом: notesDatabase.GetDocumentByID(notesAgent.ParameterDocID)

И обрабатываешь его.
 
Мы в соцсетях:

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