Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: AleX_-_ am 04.06.14 - 11:06:43
-
Hallo zusammen,
mit welchem Code kann man prüfen, ob ein übergebener User Lese- bzw. Schreibrechte auf ein NotesDokument hat?
Danke
Alex
-
Du musst über alle Autoren- und Leserfelder pflügen und prüfen, ob der User via Gruppe, Untergruppe, Rolle, Wildcard oder namentlich drin steht.
Dazu eignet sich am besten die Function @UserNamesList , die man auch in LotusScript mit Evaluate aufrufen kann.
Folgendes ist dann zu beachten:
User steht in Autorfeld => Leserecht und Bearbeitungsrecht ist gegeben
User steht in Leserfeld => Leserecht ist gegeben
User ist Editor oder höher => wenn er im Leserfeld steht, kann er immer bearbeiten
leeres Lesefeld <=> kein Lesefeld
User ist Leser => Leserecht und keinBearbeitungsrecht, es sei denn per öffentlicher Zugriff
Andreas
-
Wenn kein Leser- bzw. Autorenfeld vorhanden ist, dann die ACL sinngemäß überprüfen.
-
@Glombi: @UserNameList kann ich nicht verwenden, da man das nur mit dem angemeldeten User ausführen kann. Es gibt in der @Formel leider keinen Parameter für einen anderen NotesUserNamen >:( .
Ich will aber prüfen, welche Zugriffsrechte ein anderer User auf das Dokument hat.
-
Stimmt, dann wird es mühsam ;)
Also über alle Einträge in Autoren-/Leserfelder iterieren.
1. Namentlicher Eintrag => kein Problem
2. Wildcard => einfaches Instr sollte es tun
3. Gruppe => prüfen, ob User in Gruppe oder Untergruppe !!! ist
siehe dazu
http://www.eknori.de/2008-04-27/is-user-a-member-of-a-nested-group/
4. Rolle => ACL durchpflügen und checken, welche Gruppe die Rolle hat und dann 3. anwenden
Bitte dann das fertige Script hier unter Tipps & Tricks posten ;D
Andreas