Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
А может попробовать Lock?упо пытаюсь сохранить документ и ловлю ошибку.
С использованием Notes C API никаких лишних сейвов. Метод не сработает если права даются/отбираются после получения документа из БД:Как бы проверить есть у пользователя доступ на редактирование документа или нету?
Есть какой нибудь универсальный механизм, без обхождения всех полей Authors?
Declare Private Sub NSFNoteGetInfo_WIN32 Lib "nnotes.dll" Alias "NSFNoteGetInfo" (Byval hNote&, Byval Note_Member%, Value_ptr%)
Function IsDocumentWritable(cdoc as NotesDocument) as integer
On Error Goto ErrHnd
If False Then
ErrHnd: Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (line " & Erl & ")"
End If
Const NOTE_FLAGS% =&B111
Const NOTE_FLAG_READONLY% =&B001
Dim NoteFlags%
If cdoc Is Nothing Then Error 1234, "Wrong argument"
Call cdoc.GetItemValue("$$AccessAnyFieldForInitializeHandle")
Call NSFNoteGetInfo_WIN32(cdoc.Handle, NOTE_FLAGS, NoteFlags)
IsDocumentWritable=(NoteFlags And NOTE_FLAG_READONLY)=0
End Function
С использованием Notes C API никаких лишних сейвов. Метод не сработает если права даются/отбираются после получения документа из БД:
Код:Declare Private Sub NSFNoteGetInfo_WIN32 Lib "nnotes.dll" Alias "NSFNoteGetInfo" (Byval hNote&, Byval Note_Member%, Value_ptr%) Function IsDocumentWritable(cdoc as NotesDocument) as integer On Error Goto ErrHnd If False Then ErrHnd: Error Err, Error$ & Chr(10) & Getthreadinfo(1) & " (line " & Erl & ")" End If Const NOTE_FLAGS% =&B111 Const NOTE_FLAG_READONLY% =&B001 Dim NoteFlags% If cdoc Is Nothing Then Error 1234, "Wrong argument" Call cdoc.GetItemValue("$$AccessAnyFieldForInitializeHandle") Call NSFNoteGetInfo_WIN32(cdoc.Handle, NOTE_FLAGS, NoteFlags) IsDocumentWritable=(NoteFlags And NOTE_FLAG_READONLY)=0 End Function
многие я так понимаю не знаю фишку с сейвомС использованием Notes C API никаких лишних сейвов.
Обучение наступательной кибербезопасности в игровой форме. Начать игру!