Domino 9 und frühere Versionen > ND7: Entwicklung
Wie kann ich aktuellen Rechte auf ein Dokument feststellen
Hatschi:
Hallo.
ein Script soll ein Dokument ändern. Weil es aber Autorenfelder gibt, möchte ich vorher abfragen ob der aktuelle Anwender überhaupt das Recht hat das Dokument zu verändern.
Muss ich dafür das Autorenfeld auswerten?
Die Klassen NotesACL und Notesdatabase liefern mir laut Beschreibung nur die Rechte auf die Datenbank. Gibt es nicht etwas äquivalentes für das aktuelle Dokument und den aktuellen Anwender?
Für Hinweise bedanke ich mich,
Bernd
ascabg:
Hallo,
Meines Wissens nach Nein.
Du wirst wohl das Autorenfeld auswerten muessen. (sofern nur ein Autorenfeld vorhanden ist)
Andreas
Hatschi:
Schade das es von Notes aus keine Klasse gibt, die das elegant löst.
Danke für den Hinweis.
Bernd
Peter Klett:
Nachdem Du die ACL ausgewertet, hast, brauchst Du die Autorenfelder des Dokuments nur dann zu bemühen, wenn der User Autor in der Datenbank ist. Ist er nur Leser, darf er kein Dokument ändern, ist er Editor oder mehr, darf er jedes Dokument ändern.
Ich finde es aber recht mühsam, so vorzugehen. Da Du die Gruppen auflösen musst, bei Autorenfeldern musst Du zusätzlich Wildcards (*) berücksichtigen. Um einen vernünftigen Vorschlag zu geben, müsste man mehr über die Anwendung wissen.
Läuft das Script im geöffneten Dokument? Dann würde ich die Schaltfläche nur im Bearbeiten-Modus anzeigen, oder in dem Script das Dokument in den Bearbeiten-Modus versetzen, ist es danach immer noch im Lese-Modus, darf der Benutzer es nicht bearbeiten -> Ende des Scripts.
In einer Ansicht ist es nicht elegant, erst das Dokument zu öffnen. Wenn es mehrere sind, ist es sowieso sinnfrei. Bei solchen Aktionen nutze ich gerne einen Agenten, der von einem User mit höheren Rechten unterzeichnet ist. Dieser Agent wird dann mit agent.RunOnServer vom Benutzer gestartet, nachdem irgendwo ein entsprechender Änderungsauftrag erstellt wurde.
Vielleicht willst Du auch was ganz anderes?
klaussal:
Das liegt aber auch daran, dass ich ja eine Person in ein Autoren- oder Leserfeld eintragen kann,
dies aber nicht zwangsläufig auch in der ACL drin steht.
Der Zugriff auf ein Dokument ist ein Zusammenspiel von ACL und Autoren/Leserfeldern ( sofern vorhanden).
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln