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

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

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

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

Блокировка документа

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
а придёться... если из режима чтения в режим редактирования то ... получиться такая вот ситуация
Не получится. Перед редактированием документ блокируется. И если документ был изменен во время просмотра, то лотус ругнется.
 
A

Akupaka

Где?

flag = notesDocument.Lock( [ name ] [, provisionalOK ] )

Parameters
name - Array of type String. Optional. The names of the lock holders. Each lock holder must be a user or group. Defaults to one lock holder: the effective user. The empty string ("") is not permitted in the array.

provisionalOK - Boolean. Optional.
True permits the placement of a provisional lock.
False (default) does not permit a provisional lock.

Return value
flag - Boolean.
True if the lock is placed.
False if the lock is not placed.

Usage
IsDocumentLockingEnabled in NotesDatabase must be True or this method raises an error.
This method:
Places a persistent lock if the administration (master lock) server is available.
Places a provisional lock if the administration server is not available and the second parameter is True.
Raises an error if the administration server is not available and the second parameter is False.
The following actions occur depending on the current lock status:
If the document is not locked, this method places the lock and returns True.
If the document is locked and the current user is one of the lock holders, this method returns True.
If the document is locked and the current user is not one of the lock holders, this method returns False.
If the document is modified by another user before the lock can be placed, this method raises an error.

В хелпе написано, зачем же спрашивать? :)
Ну вот зачем, а? :) раз спрашиваю, значит не написано, а сам не юзал :)

А разве есть задача заблокировать документ от чтения?

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

а придёться... если из режима чтения в режим редактирования то ... получиться такая вот ситуация

асболютно ниче интересного не вычитал... вообще, станно, что у них не создался конфликт...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Akupaka
А, ты про это. Я думал про это:
Подозреваю, сервер посмотрит поле $Writers.
В хелпе не написано что такое блокировка и где признак хранится. Я думаю, что просто в поле $Writers. Можно попробовать вручную создать такое поле и посмотреть что будет.

Ну вот зачем, а? smile.gif раз спрашиваю, значит не написано, а сам не юзал smile.gif
Хелп говорит. :)
When you set the database property "Allow document locking," users with Author access or higher can lock documents in that database.

В самом первом посте было указано, что блокировка при открытии на чтение должна быть, вот логически мне показалось, что должна быть блокировка на чтение заблокированного документа... моя личная догадка, мож и не надо
Там написано, что она есть. А вот для чего она нужна не понятно. :)
Возможно она нужна, чтобы решить проблему, когда во время чтения документ меняется. Но стандартная блокировка эту проблему нормально решает, как я написал выше.
 
A

Akupaka

та по-моему тема про велосипед вообще ;)

а это видать (как всегда) написали в документе про галку, а не про метод :)
When you set the database property "Allow document locking," users with Author access or higher can lock documents in that database.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
а это видать (как всегда) написали в документе про галку, а не про метод smile.gif
Ага. :)
Кстати, если не ошибаюсь, в 6-ке был глюк, когда юзер с правами Readers может заблокировать документ, если откроет документ из представления по ctrl-e. Видимо, права на редактирование проверялись после блокировки. ;)
В 7-ке всё работает как надо.
 
30.05.2006
1 345
12
BIT
0
но заблокировать документ от чтения можно лишь явно кодом в QueryOpen, и то только УИ! а бэкэнд?.. если, конечно, надо :)
В backend - точно так-же, как и в UI для read: явно обратившись к ф-ции Lock


В хелпе не написано что такое блокировка и где признак хранится. Я думаю, что просто в поле $Writers
Когда-то на ibm-овском мероприятии докладывали:
provisonal-блокировка нигде не хранится. Точнее - в мозгах у сервака. Поэтому она не "зависает" при аварийном слете сеанса пользователя, док-т автоматом освобождается (вот не помню: сразу или по тайм-ауту)
"Глобальная" блокировка - это действительно поле.
 
M

morpheus

provisonal-блокировка нигде не хранится. Точнее - в мозгах у сервака. Поэтому она не "зависает" при аварийном слете сеанса пользователя, док-т автоматом освобождается (вот не помню: сразу или по тайм-ауту)
"Глобальная" блокировка - это действительно поле.
а можно перевести что есть provisonal блокировка?
 
A

Akupaka

это временная

2 Constantin A Chervonenko :
т.е. заблокированный док нельзя прочесть? я думал, что его нельзя сохранить... надо самому попробовать ;)
 
30.05.2006
1 345
12
BIT
0
Когда клиент открывает док-т в UI для редактирования, он автоматом поднимает на него (provisional?) Lock.
Если док-т открывается в background, то на совести автора кода: лочить док-т или нет.
Если док-т открывается в UI, но read-only, опять-же к компетенции автора кода: не сделать-ли Lock гдени-ть в QueryOpen формы - получится "защита" от чтения
 
A

Akupaka

да, но, если lock установлен, то кто-то другой ведь сможет документ читать?! т.е. блокировка от чтения не предусмотрена в лотусе?.. :rolleyes:
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Возможно ли так задать параметры агента чтобы он перекрывал уровень доступ пользователя?

Допустим пользователь без прав на создание документов в базе, но необходимо создать документ?
 
A

Akupaka

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
ну, если только создать, то можно попробовать сделать по кнопке запуск агента на сервере, он создаст док, даст пользователю на него права (только по роли, т.к. имя текущего пользователя вряди достанем серверным агентом), а пользователь его откроет на редактирование уже из вида...
Как он его откроет на редактирование, если у него прав нет на создание? Точнее он откроет, но сохранить не сможет. Опять серверный агент нужен. А как его вызвать, если документ не сохранен? :)

А скорее всего он его даже на редактирование не откроет. :)
 
Мы в соцсетях:

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