Domino 9 und frühere Versionen > Entwicklung
ACL - Einträge übersichtlich darstellen
TMC:
Hi,
bin leider doch noch nicht dazugekommen mich damit näher zu befassen.
Danke für Eure Tipps, werde es mal demnächst angehen.
Matthias
sloe:
Hi,
hier auf die Schnelle noch ne Möglichkeit, gibt aber Probleme mit der Übersichtlichkeit, besonders bei Benutzern mit mehreren Rollen.
--- Code: ---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
--- Ende Code ---
Gruß
sloe
TMC:
Danke sloe, ich werde das mal anpassen, dass man die Infos in Maskenfelder schreibt zwecks Übersichtlichkeit.
Matthias
TMC:
OK, ich habe mal das ganze entsprechend umgesetzt.
Um für Anwender die ACL-Einträge übersichtlich darzustellen, kann man das Beispiel in der unten angehängten Datenbank verwenden.
Dazu einfach die Maske "box_ACL" und die Aktion "ACL-Einträge anzeigen" (in der View 'ACL') in eine beliebige Datenbank kopieren.
Durch klick auf den Button "ACL-Einträge anzeigen" erhält man dann folgenden Überblick:
Über den Button "Copy to clipboard (CSV)" wird die Tabelle in die Zwischenablage kopiert im csv - Format, dadurch ist ein simpler Import z.B. in Excel einfach möglich.
Dieses Thema werde ich dann noch in Best Practices zum Beitrag "ACL-Zugriffsrechte" entsprechend ergänzen.
Hier die Datenbank zum Download:
koehlerbv:
Cool, Matthias ! Und wie immer sieht es gut aus ;-)
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln