Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: AleX_-_ am 04.06.14 - 11:06:43

Titel: Lese- u. Schreibrechte eines Users auf ein Dokument prüfen
Beitrag 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

Titel: Re: Lese- u. Schreibrechte eines Users auf ein Dokument prüfen
Beitrag von: Glombi am 04.06.14 - 11:13:52
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
Titel: Re: Lese- u. Schreibrechte eines Users auf ein Dokument prüfen
Beitrag von: klaussal am 04.06.14 - 11:26:49
Wenn kein Leser- bzw. Autorenfeld vorhanden ist, dann die ACL sinngemäß überprüfen.
Titel: Re: Lese- u. Schreibrechte eines Users auf ein Dokument prüfen
Beitrag von: AleX_-_ am 04.06.14 - 11:27:15
@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.
Titel: Re: Lese- u. Schreibrechte eines Users auf ein Dokument prüfen
Beitrag von: Glombi am 04.06.14 - 12:16:38
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