• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы Chron
  • Дата начала
C

Chron

Всем привет... Возникла такая задача - необходимо узнать число уникальных пользователей, включенных в ACL базы, и соответственно сам их список... То есть в ACL базы могут присутствовать как группы, так и отдельные пользователи; в разных группах могут одни и те же пользователи (согласен, возможно это неправильно, но все же предположим)... Вот мне и необходимо узнать количество уникальных пользователей и из список... Заранее благодарю за идеи...
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
40
Код:
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

Код:
	Set COLL = DB.Search({Form="Group" & ListName = "Имя группы"},Nothing,1)

Только не забудьте что группы вложенными могут быть)
 
N

nvyush

Перебираете ACLEntry, разворачиваете группы @ExpandNameList, складываете в массив. На LS можно нарваться на переполнение массива, поэтому я бы делал на Jave.

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

Kizarek86

Green Team
20.07.2007
871
7
BIT
40
Перебираете ACLEntry, разворачиваете группы @ExpandNameList, складываете в массив. На LS можно нарваться на переполнение массива, поэтому я бы делал на Jave.
Ну если пользователей не много, можно сразу в List складывать)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Берёшь всех пользователей и каждому делаешь notesDatabase.QueryAccess
 
Мы в соцсетях:

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