User soll nur eigene Dokumente löschen

  • Hallo,


    ich suche nach einer Lösung um Usern lesende, schreibende Rechte auf einer DB zu geben und dazu sollen die Nutzer ihre eigenen Dokumente löschen dürfen und alle anderen Dok. nicht...


    lesen und schreiben ist nicht das Problem...

    • Offizieller Beitrag

    dafür muss ins Datenbank-Script "QueryDocumentDelete" ein Script rein welches den aktuellen UserNamen mit dem Ersteller (z.B. verstecktes Feld) vergleicht und dann die Dokumente löscht oder eben nicht. Verwende noch ein Continue = False in dem Script.


    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

    • Offizieller Beitrag

    mit Autorenfeldern kann dann der User aber nur noch seine eigenen Dokumente bearbeiten. Ich habe es so gelesen, dass alle User alle Dokumente bearbeiten sollen aber nur eigen löschen.


    Gruß
    Dirk

  • Diali


    Bei nochmaligem Lesen gebe ich dir völlig Recht!
    Autoren-Felder reichen nicht...

    [color=0000CC]"Wir können Probleme nicht mit dem Denken lösen,
    das zu ihnen geführt hat." ( A. Einstein )[/color]

    • Offizieller Beitrag

    Dennis
    ... dann Autorenfelder und Autorenrechte auf die DB verwenden.


    Gruß
    Dirk

  • Dann sind wir doch wieder bei Autoren-Feldern
    inkl. ACL-Einstellungen Autor mit "Doks erstellen" & "Doks löschen" für die User.

    [color=0000CC]"Wir können Probleme nicht mit dem Denken lösen,
    das zu ihnen geführt hat." ( A. Einstein )[/color]

    • Offizieller Beitrag

    erstelle in der Maske ein "berechnet beim Anlegen" Feld (z.B. Name "Autor") mit dem Typ Autor. Als Formel schreibst Du @UserName rein.


    Die User bekommen dann auf die DB das Recht Autor mit der Option Dokumente erstellen und Dokumente löschen.


    Fertig.


    Gruß
    Dirk

    • Offizieller Beitrag

    Ja, da er nur in diesen im Autorenfeld steht, kann der User auch nur diese bearbeiten und löschen.


    Wichtig ist, dass der User nur Autorenrechte auf die DB bekommt.

    • Offizieller Beitrag

    steht im Autoren-Feld Dein UserName in der Form "CN= .../OU=.../O=../C=.."?


    Laut ACL darf der User auch Dokumente löschen?


    Gruß
    Dirk

  • ok... jetzt habe ich dem user löschen und schreiben gegeben und konnte löschen....


    werde das jetzt mal testen ob das wirklich so reicht....



    vielen dank schon mal für die schnelle hilfe... ;o)

  • Wenn in der Datenbank bereits Dokumente vorhanden sind, dann müssen diese von einem Editor (oder höher) mit einem Agenten einmal durchgerechnet werden, der in das Autorenfeld den Namen des Erstellers in der kanonischen Namensform schreibt.


    Rechne um Himmelswillen nicht alle Dokumente mit dem jetzt neu eingefügten Feld durch. Dann steht nämlich der Agentenstarter in dem Feld und nicht der Ersteller.


    Die Formel in dem neuen Autorenfeld muß auf jeden Fall lauten:
    @If(@IsNewDoc;@Username;Feldname)


    Gruß


    Norbert

    • Offizieller Beitrag
    Zitat

    Die Formel in dem neuen Autorenfeld muß auf jeden Fall lauten:
    @If(@IsNewDoc;@Username;Feldname)


    Wieso?
    Feld berechnet beim Anlegen ist viel besser, weil wird nur bei einem neuen Dokument berechnet und dann wird die @IF-Abfrage nicht benötigt.


    Gruß
    Dirk

    • Offizieller Beitrag

    achso die Formel galt für den Agenten :wuet:


    Gruß
    Dirk

  • also ich habe es jetzt getestet und es klapp auch soweit...


    nun habe ich nur noch ein problem und zwar kopiere ich zb auch mail in die db... und das per aktion... dort ist dann der verfasser = absender! und so soll es auch zu erkennen sein.... wie kann ich mich denn jetzt in meinem feld "autor" eintragen !?! soll ich im anschluss einen agenten starten!?! müsste ja dann so gehen wie ich es nicht machen soll oder!?!