Список пользователей

Тема в разделе "Lotus - Программирование", создана пользователем Chron, 2 сен 2011.

  1. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    Всем привет... Возникла такая задача - необходимо узнать число уникальных пользователей, включенных в ACL базы, и соответственно сам их список... То есть в ACL базы могут присутствовать как группы, так и отдельные пользователи; в разных группах могут одни и те же пользователи (согласен, возможно это неправильно, но все же предположим)... Вот мне и необходимо узнать количество уникальных пользователей и из список... Заранее благодарю за идеи...
     
  2. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Код (Text):
    Dim DB as new NotesDatabase("server","dbpath")
    Dim ACL As NotesACL
    Dim aclentry As NotesACLEntry

    Set ACL         = DB.ACL
    Set aclentry    = ACL.GetFirstEntry

    While Not aclentry Is Nothing
    'Нужные параметры aclentry смотрите в Хелпе
    Set aclentry = ACL.GetNextEntry(aclentry)
    Wend
    По группам правда придется побегать, чтобы вынуть всех пользователей.
    Стандартных функций вроде нету, поэтому таскайте документы из names.nsf

    Код (Text):
        Set COLL = DB.Search({Form="Group" & ListName = "Имя группы"},Nothing,1)
    Только не забудьте что группы вложенными могут быть)
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Перебираете ACLEntry, разворачиваете группы @ExpandNameList, складываете в массив. На LS можно нарваться на переполнение массива, поэтому я бы делал на Jave.

    Добавлено
    Кстати, @ExpandNameList тоже, наверное, может переполниться, так что надёжнее группы то же самому разворачивать.
     
  4. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Ну если пользователей не много, можно сразу в List складывать)
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Берёшь всех пользователей и каждому делаешь notesDatabase.QueryAccess
     
  6. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    есть что-то в это особено если косается Defaulta
     
  7. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Ну дык. К тому в ACL могут быть записи типа */East/Acme/US. Простым раскрытием групп здесь не обойдешься.
     
Загрузка...
Похожие Темы - Список пользователей
  1. gx6060
    Ответов:
    2
    Просмотров:
    443
  2. gx6060
    Ответов:
    6
    Просмотров:
    581
  3. Shandrik
    Ответов:
    6
    Просмотров:
    817
  4. anna
    Ответов:
    8
    Просмотров:
    817
  5. erhe
    Ответов:
    10
    Просмотров:
    792

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