• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Проблема с доступом (authors Readers)

vincent_vega

Green Team
02.04.2005
169
1
BIT
0
Помогите решить следующую задачу.
В базе данных есть документы, которые доступны всем. Уровень доступа пользователей к БД - Author. Ответы на эти документы должны быть видны только автору данного ответа. Вот что я делаю:

Код:
Sub Initialize	
Dim session As New NotesSession
Dim nam As NotesName
Set nam = session.CreateName(session.UserName)
msg = nam.Canonical
----------------------------------------
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument 
Dim maindoc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Set maindoc = db.GetDocumentByUNID(ID) 
Call doc.MakeResponse( maindoc )
doc.Form="DocumentRes"
Doc.Coment = ComentRes
Doc.Title=uidoc.FieldGetText("Title")
Doc.Category=uidoc.FieldGetText( "Category" ) 
...
Doc.AuthorsDoc=msg
Doc.ReadersDoc=msg
Call doc.Save(True, True)

Документ Ответа создается, в полях AuthorsDoc (тип Authors) ReadersDoc (тип Readers) сохраняется имя текущего пользователя вот в таком виде: CN=Administrator/O=GALAXY

Захожу в нотес под другим пользователем и всеравно вижу этот документ;)
смотрю поля AuthorsDoc и ReadersDoc - по прежнему указан только CN=Administrator/O=GALAXY

Что я не так делаю?
 
V

VZH

Привет. Ошибка тут:

"
Doc.AuthorsDoc=msg
Doc.ReadersDoc=msg
"

Таким образом создать поля типа Authors /Readers нельзя. Создавай через NotesItem.

Успехов.
 
O

oshmianski

ну и естественно не следует забывать про

NotesItem.IsAuthors\isReader = True
 

vincent_vega

Green Team
02.04.2005
169
1
BIT
0
Все равно где-то ошибка:)

Код:
	Dim authorsItem As New NotesItem(doc, "AuthorsDoc", msg+AccessStr, AUTHORS)
Dim readersItem As New NotesItem(doc, "ReadersDoc", msg+AccessStr, READERS)
authorsitem.IsAuthors=True
readersitem.isreaders=True
Call doc.Save(True, True)

msg - текущий пользователь
AccessStr - перечислены те, кто имеет право доступа

Документ создается, но его никто не видит из списка AccessStr, когда я его открываю и сохраняю, то только тогда он становится видимым всем кто перечислен в AccessStr.
Где ошибочка?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Здесь.
<!--QuoteBegin-vincent_vega+20:10:2005, 14:23 -->
<span class="vbquote">(vincent_vega @ 20:10:2005, 14:23 )</span><!--QuoteEBegin-->Dim authorsItem As New NotesItem(doc, "AuthorsDoc", msg+AccessStr, AUTHORS)
Dim readersItem As New NotesItem(doc, "ReadersDoc", msg+AccessStr, READERS)
[snapback]26074" rel="nofollow" target="_blank[/snapback]​
[/quote]
Неправильно присваиваешь значения. Несколько значений нужно присваивать как массив.
Т.е. каждый отдельный пользователь (или роль) это отдельный элемент массива.
 
Мы в соцсетях:

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