Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Sebastian Botz am 17.08.04 - 16:33:51
-
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
...
-
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 (http://www.atnotes.de/index.php?board=7;action=display;threadid=17281;start=0)
Andreas
-
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
-
UserGroupNameList - Attribut der NotesSession-Klasse. Vielleicht.
-
@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