Domino 9 und frühere Versionen > ND6: Entwicklung

HILFE: Zugriffskontrolle im Dokument

<< < (2/2)

Parker77:

--- Zitat von: koehlerbv am 20.01.05 - 20:33:42 ---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

--- Ende Zitat ---

Guten Morgen :)

Erstmal Danke, dass Ihr Euch die Mühe macht, meinen Mist überhaupt zu verstehen....

@Bernhard:
Ja, üblicherweise ist der von Dir beschriebene Vorgang so wie Du ihn schilderst.

Ich versuch es mal einfacher zu erklären.

User A mach Eingaben und speichert. Das Dokument selbst wird von demselben User per Actions weiterverarbeitet, in meinem Fall sollen die inhaltlichen Daten auf einen Grossrechner überspielt werden.
Jedoch darf derselbe User, die gemachten Eingaben in Schritt 1 nicht mehr verändern dürfen, trotzdem aber die Daten gegen den Grossrechner schicken - und dann je nach Erfolg bzw. Misserfolg der Übertragung ein Statusfeld im Dokument einsetzen und speichern.

@Michael:
Yep, schon gelesen, Danke:) Allerdings ist das ausblenden für bestimmte User hier leider keine Annehmbare Lösung. Aber wenn wie Bernhard sagt, sections keine Sicherheit im eigentlichen Sinne bieten fällt das wohl sowieso flach...

@All:
Wobei Sicherheit hier garnicht mal so die Anforderung ist. Man will halt nur verhindern, dass der User die Daten nachträglich verändert und so Verwirrung gestiftet wird. Änderungen mitprotokollieren klar... Aber wenn ich immer mitschreibe, welcher Felder und Werte verändert worden sind, wird ja alleine die History riesig, da es sich bis auf meine o.e. Statusfelder um das gesamte Dokument handelt.

Seltsam, seltsam.... Aber so steht es im Pflichtenheft geschrieben.... ;)

Jens.

koehlerbv:

--- Zitat von: Parker77 am 21.01.05 - 07:44:51 ---Erstmal Danke, dass Ihr Euch die Mühe macht, meinen Mist überhaupt zu verstehen....

--- Ende Zitat ---

Jens, als Mist würde ich das nicht betrachten - das ist schon ein wirkliches Problem, das es zu lösen gilt.

Wenn "Sicherheit nicht die Rolle" spielt (will heissen: Ihr erwartet keine kriminellen Hacker, die Dokumente über Agents - ggf. auch aus einer anderen DB heraus - im BackEnd verändern) und Ihr "nur" vermeiden wollt, dass der unbedarfte Anwender nicht versehentlich Daten ändert, die er nicht mehr ändern sollte, dann gibt es dazu (mindestens) zwei Standardverfahren:
1. Die betroffenen nichtänderbaren Felder stehen in Teilmasken. Einmal editierbar, einmal nur als cfd (computed for display). Je nach Status / Berechtigung des Anwenders bindest Du mal die eine, mal die andere als berechnete Teilmaske ein.

2. Du führst in Deiner Maske die betroffenen Felder doppelt (dies kann unter Umständen die performantere Lösung sein) - einmal editierbar, einmal cfd. Über hide-whens zeigst Du nun mal das eine, mal das andere Feld an.

Der kontrollierte Abschnitt sollte aber eigentlich auch funktionieren, aber da habe ich schlicht Dein eigentliches Problem nicht verstanden.

Bernhard

Parker77:
Hi Bernhard :)

wäre sicherlich auch toll das Projekt umzusetzen, wenn der Projektverantworliche nicht ein "Möchte-Gern-Programmierer" wäre, der ein VBA Buch gelesen hat - und mir alle Nasen lang über die Schulter schaut und mir sagt, wieso ich das nicht so mache, oder so..... ::)

Der kontrollierte Abschnitt hat bei mir irgendwie nicht gezogen, hatte zwei Rollen angelegt und in der Abschnittsformel gesagt, dass der Ersteller meine Felder anlegen darf, danach aber nicht mehr ändern. Das wollte ich über die Formel erreichen:
@If(Feld_gesetzt = "0";"";"[Admin]")

Aber entweder hab ich bei meinen Rollen was falsch gemacht, oder beim ID-Wechseln, oder oder oder.

Ich hab jetzt Deinen Rat beherzigt und einfach die Felder doppelt geführt (editierbar bzw. cfd und dann ausgeblendet über die hide-when Formel). Klappt ganz gut *Juhu*
Da hätte ich auch selbst drauf kommen können. Mal sehen was mein VBA'ler dazu sagt....

BTW: Nichts gegen VB,VBA - das mache ich auch...

Bernhard, falls Du mal nach Frankfurt kommen solltest: Einfach rechtzeitig melden, ein Bier oder Kaffee geht auf meine Rechnung!  :D

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln