Domino 9 und frühere Versionen > ND6: Entwicklung

HILFE: Zugriffskontrolle im Dokument

(1/2) > >>

Parker77:
Hallo,

Ich werde noch verrückt... >:(

Der Workflow soll wie folgt aussehen:

Neues Dokument wird vom Benutzer angelegt und gespeichert.
Hat er es erst einmal gespeichert, darf er es die Grunddaten nicht mehr bearbeiten können.

Das Dokument bekommt in einem Statusfeld eine "1" gesetzt (hidden) und erscheint in einer anderen Ansicht.

Über Shared Actions werden die Daten aus dem Dokument genommen, weiterverarbeitet und der in anderen Statusfelder ein Eintrag erzeugt und das Dokument gespeichert. Dies geschieht solange, bis der Workflow abgeschlossen ist.

An die Sache bin ich erstmal mit Leser- und Autoren-Feldern rangegangen. Das Dokument wird erstellt und gespeichert, Status wird gesetzt, im Leserfeld wird der Benutzer eingetragen - alles wunderbar. Im zweiten Schritt rennt mein Agent los kann aber das nächste Statusfeld nicht setzen bzw. das Dokument nicht speichern, weil der Bearbeiter nun kein Autor, sonder im Leserfeld eingetragen ist.

Also gut, dachte ich mir, gehst Du über Subforms an die Sache ran, hat aber auch nicht hingehauen.

Des Rätsels beste Lösung scheint mir ein kontrollierter Abschnitt zu sein, in dem die Grunddaten einträgt und danach nicht mehr verändert. Meine Statusfelder liegen ausserhalb dieses Abschnitts.

Allerdings haut die Formel im Abschnitt

@If(Feld_gesetzt = "0";"";"[Admin]")

nicht hin. Wenn ich nicht in der Rolle [Admin] bin, sondern in der Rolle [Benutzer] kann ich nichts in dem Abschnitt verändern. Notes schliessen und öffnen hab ich auch schon probiert (von wegen Caching).

Geht das, was ich will, überhaupt? Hat mich irgendjemand verstanden?  ;)

Zweckmässig wäre vielleicht einfach auch nur, wenn bei Doppelklick auf das Dokument dieses ohne Abfrage zu speichern geschlossen würde...

Ich weiß nicht, was ich machen soll, das zerrt echt an meinen Nerven... *grrr*

Schonmal Danke für Tips!

Euer Jens.

koehlerbv:
Ehrlich gesagt: Ich verstehe das Problem (oder dessen Formulierung) nicht.

Kontrollierte Abschnitte und Co. sind keine Sicherheit, sie wirken nur im Frontend. Autoren- und Leserfelder sind dagegen einfach zu handhaben und sicher.

Der Standardablauf ist doch: User A macht seine Angaben und speichert, wenn er im Workflow weitermachen will (über eine Aktion - speichern alleine wäre ja in der Regel nicht so lustig). Dabei wird er aus dem Autorfeld genommen, ein anderer (User B) / andere wird (User B und C und D) / werden eingesetzt. Danach kann User A das Dokument nicht mehr bearbeiten - nur das speichern ging noch.

Sag' mal genaueres.

Bernhard

y20frank:
nur mal so am Rande: habe das mit den Abschnitten gerade mal im Notes 7beta getestet... irgendwie geht das da z Zt gar nicht. Die ragieren auf keine Rolle oder Formel...  :P

Auf Autoren und Leser-Felder würde ich auch setzen, wenn es das gesamte Dokument betirfft!
Problem ist nur: wenn ein Teil des Dokumentes von dem einen, und der andere Teil von einem weiteren Personenkreis bearbeitet werden soll... Da müssten schon die Abschnitte herhalten, wenn ich mich nicht irre...

koehlerbv:
Wenn es sicher sein soll, dann reicht auch dieses Verfahren nicht (für Gruppe A diese Felder, für Gruppe B jene), Frank. Da muss dan eingemachtes 'ran (zum Beispiel: Mailen der Änderungen an die DB zwecks geflissentlicher Bearbeitung).

Abschätzen muss man aber immer, wie hoch das Sciherheitsbedürfnis tatsächlich ist. Ausserdem kann jede Änderung des Dokuments protokollieren - häufig reicht das ja schon gegen situativ unwahrscheinlichen Missbrauch. Es führen also wie gewohnt viele Wege nach Rom.

Bernhard

-Michael-:
Hi,


--- Zitat von: Parker77 am 20.01.05 - 18:35:05 ---Allerdings haut die Formel im Abschnitt

@If(Feld_gesetzt = "0";"";"[Admin]")

nicht hin.
--- Ende Zitat ---

Schau Dir dazu mal die Technote #179788 an, ich hatte das erst gestern.

Auszug:

--- Zitat ---2. Controlled Access Section
Here are the steps for hiding a RTF using a Controlled Access section:

1. Open the form in Domino Designer. Highlight the RTF and any other paragraphs you want to hide along with it.
2. From the menu select Create, Section, Controlled Access.
3. Use the Form Section properties box to set the section properties as shown below. In this example, you are hiding the RTF if DocStatus = "Draft".

    * Set the section to be collapsed in all modes for non-editors. When the section is collapsed, nothing inside it is visible.
    * Set it to be expanded in all modes for editors. If modal sensitivity is needed (for example, if the field should be hidden only in edit mode) this can be accomplished using the modal expand/collapse settings. This example hides the RTF based on the DocStatus only, regardless of mode.
    * Set the section access formula to 'Computed for Display', and write a formula that returns @UserName or "" if you want the RTF to not be hidden. To hide the RTF, the formula should return a nonexistent name (for example, "-nobody-"). Since the formula is 'Computed for Display', it is recalculated for each different user when they open the document. If you want to hide based on group or role membership, your formula can just name the group(s) or role(s). For example, "[WFEditors]" is the formula you'd use to hide the section from everyone except members of the WFEditors role.
    * In the hide properties of the section, check/select boxes to hide the section always. The section hide properties actually affect only the section header line. The contents of the section are visible if the section is expanded, even if the header line is hidden. With the header hidden, the user can't open or close the section manually, so their editor/non-editor status will determine whether they can see the contents. Note: Be aware of that under specific conditions section contents may not be present as expected. For more information refer to the document, "RenderToRTItem and Simple Action "Send Mail Message" Render Sections Differently than Forwarding" (#1085322).
--- Ende Zitat ---

In den Screenshots siehst Du auch eine Beispielformel.

Sicher ist das ganze nicht, da hat Bernhard vollkommen recht. Wenn das also nicht reicht, würde ich mit Feldverschlüsselung arbeiten, die eh bei Notes standardmäßig dabei ist.

Ciao,
Michael

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln