Zugriffschutz auf Dokumentenebene

  • Hallo zusammen,


    habe eine Notes-Datenbank erstellt, die künftig vertrauliche Informationen enthalten soll. Die Datenbank trägt dabei je Mitarbeiter (mehrere hundert) genau ein Dokument.
    Wie kann ich es realisieren, dass nach Anlage und Speichern des jeweiligen Dokumentes nur die darin benannte Person das Dokument künftig öffnen kann?
    z.B.
    Anlage Dokument mit H. Mustermann (dieser liegt im Domino-Adressbuch mit gültiger ID) durch eine Drittperson. Wird das Dokument anschließend gespeichert, so darf nur noch H. Mustermann und der Ersteller das Dokument öffnen. Im Dokument selber soll H. Mustermann lediglich eine einzige Schaltfläche bedienen können. Den Rest darf er nur lesen.


    Wie ist das zu realisieren? Hab schon überall gesucht und nix gefunden....


    Danke!

  • Mach einfach in die Maske ein Feld das verstecktst du.
    Der Type dieses Feldes ist Reader und bevor du speichers füllst du die Namen in das Feld die das Dokument lesen sollen.


    Aber ACHTUNG so kannst du auch den Server aussperren.
    Ich mach dann immer ein zweites Feld auch vom Type Reader und berechnet in dem eine Rolle steht und diese Rolle gebe ich dem Server und auch den Admins.

    73 x Version 9.0.1 Server, 2500 x 8.5.2 - 8.5.3 Clients alles auf Win

  • Hallo Notesadmin,


    danke für Deine Hilfe!


    "Ich mach dann immer ein zweites Feld auch vom Type Reader und berechnet in dem eine Rolle steht..."


    --> welche Formel muss ich denn da eintragen? Meine Rolle trägt den Namen "Alle Rechte"

  • Genau so und wenn user mit anderen Rollen zugriff haben sollen dann mach eine Liste der Rollen.


    "[Admin]":"[Server]":"[xxx]".......................


    So kannst du die Rechte ganz einfach ändern in dem du einem User die Rolle nimmst.

    73 x Version 9.0.1 Server, 2500 x 8.5.2 - 8.5.3 Clients alles auf Win

  • Hallo,


    kleiner Tip am Rande.


    Es sollte auch ein Feld vom Typ "Autor" rein, in welches die Administrator-Rolle rein sollte.


    Sonst kann das Dokument hinterher nicht mehr bearbeitet werden, außer von dem, der es angelegt hat.


    Gruß


    Manu

  • Hallo Leute!


    Danke für Eure Hilfe! Bin jetzt schon ein großes Stück weiter. Jetzt hab ich nur noch ein Problem:


    Person A legt das Dokument an und macht Einträge, die nur für Person B einsehbar sein sollen. Das hab ich mit Eurer Hilfe jetzt realisiert.
    Person B soll aber jetzt in der Lage sein, das Dokument zu unterschreiben (Button), sie darf aber keine Änderungen vornehmen! Das mach ich mit doc.Signer().
    Hab das jetzt mit einem Maskenabschnitt versucht. Das funzt zum Teil, d.h. nur bei Person B ist der Button aktiv. Jetzt aber zum Problem: Da Person B ja nur Leserechte hat, darf sie die Aktion doc.Signer() hinter dem Button nicht ausführen. Geb ich der Person B mehr als nur Leserechte, kann sie zwar den Button ausführen, kann aber auch Änderungen vornehmen.
    Wie kann ich das beheben?


    Danke!

    • Offizieller Beitrag

    Person B soll das Dokument unterzeichnen aber keine Felder ändern können? - bekommst Du nicht hin!


    Willst Du ein Dokument signieren, dann wird dieses verändert, d.h. der User benötigt Autorenrechte auf dieses Dokument. Hat der User Autorenrechte auf das Dokument kann er auch jedes Feld ändern.


    1. Möglichkeit ist dem USer eine Maske anzuzeigen, bei dem alle Felder berechnet sind (Formel ist der Feldname selber) oder nur als berechneter Text angezeigt werden. Aber der USer kann dann immer noch durch einen einfachen Agenten Felder ändern.


    2. Möglichkeit, Du stellst beid en Feldern ein über die Eigenschaftbox, dass diese nur von Editoren bearbeitet werden können. D.h. jeder, der die Felder bearbeiten soll braucht Editorrechte auf die DB, damit ziehen dann aber die Autorenfelder für diese User nicht mehr.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Person B soll das Dokument unterzeichnen aber keine Felder ändern können? - bekommst Du nicht hin!



    ok, anders rum: ich stelle ein Arbeitszeugnis aus. Die betreffende Person kann dieses dann per Unterschrift in Notes akzeptieren oder nicht. Auf keinen Fall darf die betroffene Person im Arbeitszeugnis Änderungen durchführen und dann unterschreiben.


    Kapier ich nicht...

  • Hallo Ralf,


    Du könntest auch einfach im "QueryModeChange"-Event abfangen, dass User B nicht in den Edit-Mode wechseln darf.


    Das musst Du dann auch noch im "QueryOpen"-Event tun, denn wenn der User aus der Ansicht gleich im Bearbeiten-Modus startet, geht er nur über den QueryOpen.


    Dort musst Du dann den Edit-Mode abfragen.


    Gruß Manu

    • Offizieller Beitrag

    diese abfrage haut nicht hin. Sobald der User das Dokument ändern darf, kann er sich einen einfachen Agenten bauen, der die Felder in dem Dokument verändert.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hi Taurec und hi Diali,


    wenn die User Editorrechte haben, dann können Sie mit Agenten so ziemlich alles versaubeuteln :(


    Egal, ob die Felder nur mit Editor-Rechten versehen sind, oder die Maske nur Leserfelder hat, Editorrecht ist leider ein recht hohes Recht .


    So wie ich das verstanden habe, sollen die User aber nur Autorenrecht in der DB kriegen, somit wäre das Thema "Editor" ja erst mal nicht das Problem.


    Wenn aber wirklich verhindert werden soll, das die User an dem Dokument noch mal was ändern dürfen, hätte ich noch folgenden Vorschlag.


    Die Rollen in dem Dokument werden so dicht gemacht, dass User mit "nur Autorenrechten" an diesem Dokument definitiv nicht mehr ändern können.


    Der Button, der das Dokument noch mal anfasst, schreibt ein verstecktes Antwortdokument und ein Background-Agent mischt dieses Feld dann ein.
    Nur der Server kriegt dann halt die Rollen, die zum Ändern nötig sind.


    Oder bin ich auf dem Holzweg?


    Gruß Manu

  • @ManuelaHB


    Nein denn das ist ja genau das was ich mit dem zusätzlichen Dokument angeführt habe. Nur hätte ich das dann über ein berechnetes Feld im Hauptdokument eingeblendet.
    Dann muss nicht mal der Server was dran ändern

  • Hallo Taurec,


    ah verstehe.
    Das ist auch eine sehr schöne Lösung.
    Schreib ich mir mal gleich hinter meine Löffel ;)


    Ich bin wohl mittlerweile "Agentenblind" ;) weil ich so vieles damit mache.


    Danke für den Tip.


    Manu


    P.S: Man wird alt wie ne Kuh und lernt immer noch dazu.......

  • so jetzt gehts dahin...
    bevor ich nun alles in meiner DB zerlege:


    -->"Dann speicher die Unterschrift in einem seperatem Dokument und zeige sie nur in deinem Originaldokument an."


    Am besten wäre es, dass erst beim Unterschreiben "Stammdokumentes" das Unterschriftsdokument EINMALIG je "Stammdokument" erzeugt wird.


    Wie funzt das?