Search the FirstSpirit Knowledge Base
Moin,
in einer Seite greife ich auf die Berechtigungen mittels
$CMS_SET(perm, pageRef.node.meta("md_roles","inherit"))$
und erhalte so auch geerbte Berechtigungen.
In einem Skript, will ich für ein PageRefImpl-Objekt nun die Berechtigungen auslesen und entsprechend die geerbten Rechte erhalten. Hier scheitern unsere Bemühungen.
PermissionEditorValue editor = pageRefImpl.getMeta().get("md_roles").getEditor();
editor.get(context.project.masterLanguage).getAllowed("view");
liefert immer nur die direkt am Knoten definierten Einträge nicht aber die geerbten.
Auch ein vorgestelltes
editor.get(context.project.masterLanguage).setInherited(true);
ändert hier nichts.
Wie bekomme ich die effektiven Permissions für den jeweiligen Knoten?
Dazu auch noch eine Frage. Einmal gesetzte Permissions scheinen bei uns im System nie zu verschwinden. Auch wenn man die Checbox "Rechte definieren" zurücksetzt (unchecked), verbleibt das i-Symbol neben dem Knoten. Im Client werden die Permissions auch ausgeblendet. Greife ich mit dem Skript zu, sind sie aber immer noch vorhanden. Weiß hier jemand genaueres?
Dank und Grüße
Michael Schmidt
Um die vererbeten Informationen zu bekommen, müssen Sie so lange im Baum nach oben gehen, bis sie einen Knoten finden, auf dem Informationen gesetzt sind. Eventuell hilft ihnen auch "Vererbungshierarchie der Rechte unterbrechen" über API setzen / auslesen
Zur zweiten Frage: Metadaten werden nur komplett entfernt, wenn sie über das Kontextmenü -> Extras -> Metadaten entfernen gehen.
Bedingt hilfreich. Schade, dass es hier keine entsprechenden Convenience-Methoden gibt, die das mühsame Auslesen aus den PermissionEditorValue-Objekten vereinfacht.
Ich denke, dass der verlinkte Thread an meiner Frage deutlich vorbeigeht, da es sich hier um die Rechte an den StoreElement-Objekten handelt, die soweit ich das überblicke vollkommen anders behandelt werden als, als das in den Metadaten PermissionEditorValue.
Hallo Herr Schmidt,
tut mir Leid, wenn ich sie mit dem Link verwirrt habe. Es passt nicht so ganz, aber das Prinzip ist für die Vererbung und Abfrage der Metadaten und Berechtigungen ist gleich.
Für Convience-Methoden können Sie gerne einen Feature-Request stellen.
Viele Grüße
Christoph Feddersen