Zum Inhalt springen

be_acl subpages-but-not-self

Erstellt am 10. Januar 2007 · 2 Antworten · letzte Antwort am 10. Januar 2007

Tags: Frage

droptix ·

Ich nutze be_acl für meine Rechteverwaltung. Heute ist mir was aufgefallen und ich hab ne Frage dazu: Die meisten haben allein schon wegen dem Haupt-Template ganz oben am Seitenbaum eine Shortcut-Seite, die auf die erste Unterseite zeigt. So auch bei mir...

Nun möchte ich, dass alle Unterseiten der Shortcut-Seite editierbar sind, nur nicht löschbar. Also setze ich auf die Shortcut-Seite folgende ACL:

Zeige Seite [x]
Bearbeite Inhalt [x]
Bearbeite Seite [x]
Lösche Seite [ ]
Neue Seiten [x]
Recursive [x]

Das überträgt sich nun auf die Shortcut-Seite sowie alle Unterseiten. Ich möchte nun aber verhindern, dass Benutzer die Shortcut-Seite selbst bearbeiten können. Sonst könnte man den Shortcut verstellen und die ganze Seite lahm legen. Ich dachte, ich erstelle gleich darunter eine zweite ACL wie folgt:

Zeige Seite [x]
Bearbeite Inhalt [ ]
Bearbeite Seite [ ]
Lösche Seite [ ]
Neue Seiten [ ]
Recursive [ ]

Somit werden beide ACLs quasi mit einem logischen OR verbunden und auf die Unterseiten übertragen. Heraus kommt nur eine ACL.

Wie macht man das am besten?

Ich möchte nicht auf jede Unterseite eine einzelne ACL legen, weil neu erstellte Seiten eigentlich von oben erben sollen. Ich habe über das Listen-Modul eine ACL von Hand angelegt, allerdings kann man dort keine User/Group-ID auswählen... wieso auch immer. In den Zugriffsrechten ist das dann wie eine fehlerhafte ACL, daher hab ich sie wieder gelöscht.

droptix ·

Geht nicht. Beide ACLs stören sich und es kommt wieder nur eine raus. Manuell eine über das Liste-Modul erstellen geht auch nicht, weil ich keine User-/Group-ID auswählen kann. Im Zugriffseditor kann ich die zwar auswählen, aber nach dem Speichern ist die sofort wieder weg. Also hab ich eine ACL ohne User bzw. Gruppe. Die wird demnach nie angewendet.

P.S. Wenn ich die gültige ACL über `Liste` bearbeite, steht im Flexform beim Feld " ID of User/Group" immer [AKTUELLER WERT IST NICHT ERLAUBT (1)]. 1 ist meine Gruppen-ID, die es gibt. Unter `Zugriff` wird die Gruppe auch korrekt angezeigt.

Vielleicht lässt sich das durch den direkten Eintrag der ID in die DB erwzingen, aber naja... ist nicht grad pflegeleicht!