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

Тема в разделе "Lotus - Программирование", создана пользователем vincent_vega, 16 окт 2005.

  1. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Помогите решить следующую задачу.
    В базе данных есть документы, которые доступны всем. Уровень доступа пользователей к БД - Author. Ответы на эти документы должны быть видны только автору данного ответа. Вот что я делаю:

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

    Что я не так делаю?
     
  2. VZH

    VZH Гость

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

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

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

    Успехов.
     
  3. oshmianski

    oshmianski Гость

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

    NotesItem.IsAuthors\isReader = True
     
  4. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Все равно где-то ошибка:)

    Код (Text):
        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.
    Где ошибочка?
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Здесь.
    <!--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]
    Неправильно присваиваешь значения. Несколько значений нужно присваивать как массив.
    Т.е. каждый отдельный пользователь (или роль) это отдельный элемент массива.
     
  6. vincent_vega

    vincent_vega Lotus team
    Lotus team

    Регистрация:
    2 апр 2005
    Сообщения:
    165
    Симпатии:
    1
    Спасибо за помощь:)
     
Загрузка...
Похожие Темы - Проблема доступом (authors
  1. c0de3r
    Ответов:
    5
    Просмотров:
    119
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    133
  3. SoulPaladin
    Ответов:
    4
    Просмотров:
    125
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

Поделиться этой страницей