Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
И что это будет? Роли пользователя? нужно на оборот. Что-то вроде этогоИМХО самый простой способ это перебор всех пользователей, если их число не велико.
roles = notesDatabase.QueryAccessRoles( name$ )
Function GetUserByRoles( Role As String, separator As String ) As String
Dim ACL As NotesACL
Dim ACLentry As NotesACLEntry
Dim Result As String
Set ACL = db.ACL
Set ACLentry = ACL.GetFirstEntry
If separator = "" Then
separator = ", "
End If
While Not ACLentry Is Nothing
Forall r In ACLentry.Roles
If r = Role Then
Result = Result & ACLentry.Name & separator
End If
End Forall
Set ACLentry = ACL.GetNextEntry( ACLentry )
Wend
GetUserByRoles = Result
End Function
Forall r In ACLentry.Roles
If r = Role Then
If ACLentry.IsRoleEnabled(role) Then
db.QueryAccessRoles("userName") вернёт все роли пользователя, даже если он включен в ACL через группу.Проблема в том, что если пользователь включен в группу, и группе назначена роль, то isRoleEnabled пишет, что нет, типа для этого человека такой роли нет.
Блин... ну тебе готовый код что ли дать? а самому додумать?Проблема в том, что если пользователь включен в группу, и группе назначена роль, то isRoleEnabled пишет, что нет, типа для этого человека такой роли нет.
ЗЫ:Упс...долго не обновлял страницу, много чего нового появилось.
Нормально все будет, не вижу проблемы отобрать только пользователей с нужной ролью.И что это будет? Роли пользователя? нужно на оборот. Что-то вроде этого
Sub SendMail (GroupName As String)
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim message As NotesDocument
Dim NamesNSF As NotesDatabase
Dim GroupsView As NotesView
Dim GroupCol As NotesDocumentCollection
Dim Group As NotesDocument
Dim Members As NotesItem
Dim servername As String
Dim path As String
servername="SERVER01"
path="names.nsf"
Set NamesNSF= New NotesDatabase(servername,path)
If Not NamesNSF.Isopen Then
Call NamesNSF.Open(servername,path)
End If
Set GroupsView=NamesNSF.Getview("Groups")
Set GroupCol=GroupsView.Getalldocumentsbykey(GroupName, True)
Set Group=GroupCol.Getfirstdocument()
Set members=Group.Getfirstitem("Members")
Set db=session.CurrentDatabase
Set Message=db.Createdocument()
message.Form = "Memo"
message.Subject = "Уведомление о новой заявке на потребительский кредит"
message.Principal="Потребительское кредитование"
Message.SendTo=Members.Text
Call message.send(False)
End Sub
Message.SendTo=Members.Text
Message.SendTo=Members.Values
Message.SendTo = GroupName
Спасибо огромное. Это то, что нужно.Message.SendTo = GroupName
Обучение наступательной кибербезопасности в игровой форме. Начать игру!