Hi,
hier auf die Schnelle noch ne Möglichkeit, gibt aber Probleme mit der Übersichtlichkeit, besonders bei Benutzern mit mehreren Rollen.
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Dim ACLarray()
Set db = session.CurrentDatabase
Set acl = db.ACL
i = 1
Puffer = " "
Set entry = acl.GetFirstEntry
While Not ( entry Is Nothing )
entryRole = ""
entryLevel = entry.Level
entryName = entry.Name
entryUsertype = entry.UserType
Forall role In entry.Roles
entryRole = entryRole & role
End Forall
Select Case entryLevel
Case 0 :
Level = "NOACCESS"
Case 1 :
Level = "DEPOSITOR"
Case 2 :
Level = "READER"
Case 3 :
Level = "AUTHOR"
Case 4 :
Level = "EDITOR"
Case 5 :
Level = "DESIGNER"
Case 6 :
Level = "MANAGER"
End Select
Select Case entryUsertype
Case 0 :
UserType = "UNSPECIFIED"
Case 1 :
UserType = "PERSON"
Case 2 :
UserType = "SERVER"
Case 3 :
UserType = "MIXED_GROUP"
Case 4 :
UserType = "PERSON_GROUP"
Case 5 :
UserType = "SERVER_GROUP"
End Select
Redim Preserve ACLarray(i)
ACLarray(i) = Level & Puffer & UserType & Puffer & entryName & Puffer & entryRole
i = i +1
Set entry = acl.GetNextEntry( entry )
Wend
For j = 1 To Ubound(ACLarray)
BoxMessage = BoxMessage & ACLarray(j) & Chr(10)
Next
Msgbox "Level: Typ: Name: Rollen: " & Chr(10) & "------------------------------------------------------------------------------------------------------" & Chr(10) & BoxMessage,0, "ACL-Datenbankinformationen"
End Sub
Gruß
sloe