Domino 9 und frühere Versionen > Entwicklung
Mit Script herausfinden, ob jemand Löschrechte hat
Glombi:
Wie kann man mit Script herausfinden, ob jemand Löschrechte hat. Irgendwie gibts da keine Methode, oder?
Leider geht ein @UserAccess mit Evaluate nicht.
ie ACL möchte ich nicht abfragen, denn der User steht nicht unbedingt namentlich drin.
Andreas
flaite:
NotesACLEntry.CanDeleteDocuments.
Glombi:
Ja klar, aber wie komme ich an den ACLEntry, wenn der User gar nicht in der ACL steht (wegen Gruppen, Wildcard, -Default-).
Andreas
flaite:
Irgendwo *muss* das ja in der ACL stehen.
wenn ich mich recht erinnere gibt es seit R5 eine Formel, mit der man eine Liste aller Gruppen, Wildcards, etc. bekommt, denen der User angehört. @UserNamesList.
Sofern du diese Liste hast, kannst du die ACL durchsuchen und pro gefundenen Entry überprüfen, ob der Eintrag autorisiert ist zu löschen.
Aus meiner Sicht sollte das so gehen.
flaite:
Übergeordnete Funktion: Iteriere durch den UserNamesList Array.
1. Funktion: Suche in der SkriptACL Klasse nach dem gleichnamigen Entry und schaue ob er Löschrechte hat.
--- Code: ---'pseudocode: Eigenschaften und Methoden frei erfunden von mir -> zu faul.
'client
Forall x in @UserNamesList
aclEntryDeleter = false
if (isACLEntryDeleter(x) then
aclEntryDeleter = true
exit forall
end if
end forall
---------------------
function isACLEntryDeleter (name As String) As Integer
dim entryFound as Integer
entryFound = false
forall x in ACL.Entries (oder wie immer das heisst)
if x.name = name then
entryFound = true
exit forall
endif
end forall
if entryFound then
isACLEntryDeleter = x.CanDeleteDocuments
else
print "ERROR: Entry " + name + " not found in ACL"
isACLEntryDeleter = false
end if
end function
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln