Domino 9 und frühere Versionen > Entwicklung

Mit Script herausfinden, ob jemand Löschrechte hat

(1/2) > >>

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