Domino 9 und frühere Versionen > Entwicklung

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

<< < (2/3) > >>

Axel:
Hi,

aber Achtung mit IsRoleEnabled. Wenn ein User in einer Gruppe enthalten ist und dieser eine Rolle zugewiesen wurde, nutzt diese Property nichts. Es werden nur direkt zugewiesen Rollen erkannt.

Deshalb habe ich mir eine eigene Funktion gestrickt -> Prüfung der Zuordnung von Rollen mit Script


Axel

TMC:
Danke, Axel.

Problem dabei ist allerdings, dass ich -- unabhängig von @Username -- wissen musste, wer alles eine bestimmte Rolle hat.
Wenn man dann in der Rückgabe Gruppen hat und dies auf einzelne Personen runterbrechen muss, dann muss sowas wie Ulrich's Function herhalten, die das ganze wohl rekursiv auflöst.

koehlerbv:
Reicht es Dir eigentlich, wenn (wie bisher angegeben) das ganze nur auf einem Server funktioniert ? Sonst wären ja noch ein paar Erweiterungen erforderlich. Die könnte ich liefern.

Bernhard

TMC:
Nein, Bernhard, sollte auch lokal funzen. Aber trotzdem danke für Dein Angebot  :D
Trotzdem würde mich interessieren, wie Du das auf einem Server umsetzen würdest.

Eigentlich hab ich ja auch schon die Lösung, nur die rekursive Auflösung der Gruppen hab ich noch nicht implementiert.

Ah ja, hier bisherige die Umsetzung in kürze:

--- Code: --- intCount = 0
Set aclentry = acl.GetFirstEntry
While Not aclentry Is Nothing
If aclentry.IsRoleEnabled(strRole) Then
Redim Preserve vElemArray(intCount)
vElemArray(intCount) = aclentry.Name
intCount = intCount + 1
End If
Set aclentry = acl.GetNextEntry(aclentry)
Wend
--- Ende Code ---

Bei Ulrich's Script stört mich ein wenig die fixe Vorgabe der DB, also:

--- Code: ---Dim db As New NotesDatabase("Servernamet", "Names.NSF")
--- Ende Code ---

Na ja, erste Überlegung:

--- Code: --- dbAddressBooksArray = session.AddressBooks 'db array of all address books
Forall loop_db In dbAddressBooksArray
If ( loop_db.IsPublicAddressBook ) Then
'Public Address Book found !
Set dbNAB = loop_db
Exit Forall
End If
End Forall

If (dbNAB Is Nothing) Then
'we did not find any book
Error 1001, "A public address book could not be found !"
End If
--- Ende Code ---

Allerdings hab ich da wenig Erfahrung im Bezug auf NAB-Zugriff, also ob das reicht und was ich da noch an ErrorHandling einbauen müsste.

Semeaphoros:
Theoretisch ist Deine Ueberlegung zum PubNAB und die Kritik an Ulrichs Code gerechtfertigt und Dein Suchalgorithmus durchaus korrekt. In der Praxis ist es aber so, dass in derart vielen - auch kommerziellen - Applikationen der Filename "names.nsf" hardcodiert drinsteht, dass jemand, der diese Datei anders benennt, rasch in Schwierigkeiten hineinläuft. Ausnahmsweise ist der "nicht ganz saubere Code" von Ulrich demnach unkritisch.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln