Domino 9 und frühere Versionen > ND6: Entwicklung

Rollen mit LS abprüfen

(1/1)

Sebastian Botz:
Hallo zusammen,

ich möchte bei einem Button in einer Maske abprüfen ob jemand eine bestimmte Rolle  hat, nur dann darf die Aktion ausgeführt werden.

Mein Skript funktioniert solange der User als Person in der ACL steht, nicht wenn er Mitglied einer Gruppe ist, dann wird das Objekt eAclEntry nicht befüllt.

Gibt es eine Möglichkeit die Gruppe des Benutzer herauszufinden, und damit das Objekt eAclEntry zu befüllen?

Ich hoffe ich konnte mich verständlich ausdrücken, anbei mein Code.

Vielen Dank für eure Hilfe.

Sebastian

Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim se As New NotesSession
   Dim db As NotesDatabase
   Dim acl As NotesACL
   Dim eAclEntry As NotesACLEntry
   
   Set db = se.CurrentDatabase
   Set uidoc = uiws.CurrentDocument
   Set acl = db.ACL
   Set eAclEntry = acl.GetEntry(se.UserName)
   
   If eAclEntry.IsRoleEnabled("Packlisten") Then
         ...

Glombi:
Willst Du wirklich nur wissen, welche Rollen ein User hat?

Dann so
dim userroles as Variant
userroles = Evaluate(|@UserRoles|)
'Bsp. für Auswertung
forall role in userroles
msgbox userroles
end forall

Hier gibt es ein schönes fertiges Script  ;)
http://www.atnotes.de/index.php?board=7;action=display;threadid=17281;start=0

Andreas

Sebastian Botz:
Vielen Dank Glombi .

Ich werde das mit evaluate machen.

Aber trotzdem würde mich interessieren ob man von se.username auf die Gruppe schließen kann, in welcher der User in der ACL steht. Um dann doch einen ACLEntry zu bekommen.

Danke

Sebastian

animate:
UserGroupNameList - Attribut der NotesSession-Klasse. Vielleicht.

HarryB:
@Sebastian

Spricht etwas dagegen, den Button mittels einer HideWhen Formel auf Basis der Rollenzugehörigkeit zu verbergen? Das wäre nämlich eine weitere Möglichkeit und würde Scriptaufwand recht leicht ersparen.

Viele Grüße
Harry

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln