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

02.04.2005
170
1
#1
Помогите решить следующую задачу.
В базе данных есть документы, которые доступны всем. Уровень доступа пользователей к БД - 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
#2
Привет. Ошибка тут:

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

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

Успехов.
 
O

oshmianski

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

NotesItem.IsAuthors\isReader = True
 
02.04.2005
170
1
#4
Все равно где-то ошибка:)

Код:
	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

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
Здесь.
<!--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]
Неправильно присваиваешь значения. Несколько значений нужно присваивать как массив.
Т.е. каждый отдельный пользователь (или роль) это отдельный элемент массива.