Domino 9 und frühere Versionen > Entwicklung

Gegeben: Rolle -- Gesucht: wer hat alles diese Rolle

(1/3) > >>

TMC:
Hi,

wenn ich eine ACL-Rolle habe, z.B. [Admin], wie komme ich am einfachsten an eine Liste / Array, die alle Namen der ACL beinhaltet, welche diese Rolle haben?

Beispiel:
  - Reiner Unsinn
  - Axel Schweiss
haben in der ACL die Rolle [Admin]. Wie erhalte ich programmatisch diese Namen, wenn mir nur die Rolle [Admin] bekannt ist?


Benötige das in LS, darf aber auch @Formula sein, dann würde ich mir das über Evaluate holen.

Danke,
Matthias

P.S. ich habe das Gefühl dies geht ziemlich einfach, aber ich finde es aktuell einfach nicht.

eknori:
guck mal Designer Help  IsRoleEnabled
Da musst du dann durch die ACL mit acl.GetEntry durch und prüfen ob der Eintrag IsRoleEnabled ist. Wenn ja, ab damit in ein Array

TMC:
Danke Ulrich, ich glaube that's it.

In der Property IsRoleEnabled war ich schon kurz drin während meiner Suche, aber auf das bin ich nicht gekommen  :P

Nochmal danke, ich wußte doch es muss eine einfache Lösung geben  :)

Matthias

eknori:
hier noch schnell eine Hilfsfunktion um Gruppenmitglieder ( auch aus verschachtelten ) Gruppen zu extrahieren

Function GetMembersInGroup(GroupName As String) As Variant
   Dim session As New NotesSession
   Dim db As New NotesDatabase("Servernamet", "Names.NSF")
   Dim doc As NotesDocument
   Dim view As NotesView
   Set view=Db.GetView("($VIMGroups)")
   Set doc=View.GetDocumentByKey(GroupName)
   Redim tmpMembers(1) As Variant
   J=0
   
   If Not(doc Is Nothing) Then
      tmpGroupName1=Doc.GetItemValue("Members")
      GroupLowerBound1= Lbound(tmpGroupName1)
      GroupUpperBound1= Ubound(tmpGroupName1)
      For i=GroupLowerBound1 To GroupUpperBound1
         tmpGroupName2= GetMembersinGroup(tmpGroupName1(i))
         GroupLowerBound2= Lbound(tmpGroupName2)
         GroupUpperBound2= Ubound(tmpGroupName2)
         Redim Preserve tmpMembers(GroupUpperBound2+J) As Variant
         For K= GroupLowerBound2 To GroupUpperBound2
            tmpMembers(J) = tmpGroupName2(K)
            J=J+1
         Next
      Next
   Else
      Redim tmpMembers(0) As Variant
      tmpMembers(0) = GroupName
   End If
   
   GetMembersInGroup= tmpMembers
End Function

könnte für dich nützlich sein

TMC:
danke Ulrich, kann gut sein dass ich das bald brauche hier  :D

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln