• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Chron

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

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

Добавлено
Кстати, @ExpandNameList тоже, наверное, может переполниться, так что надёжнее группы то же самому разворачивать.
 
Перебираете ACLEntry, разворачиваете группы @ExpandNameList, складываете в массив. На LS можно нарваться на переполнение массива, поэтому я бы делал на Jave.
Ну если пользователей не много, можно сразу в List складывать)
 
Берёшь всех пользователей и каждому делаешь notesDatabase.QueryAccess
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab