Domino 9 und frühere Versionen > Entwicklung

ACL - Einträge übersichtlich darstellen

<< < (3/4) > >>

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