Search the FirstSpirit Knowledge Base
Hallo zusammen.
ich habe hier für ein Projekt den Auftrag, Ordner für die Allgemeinheit auszublenden und die Bearbeitung nur für Admins zu ermöglichen. Das habe ich mit folgender Konfiguration gemacht:
Rechte auf der Strukturseite sind entsprechend.
Ich habe jetzt zum Test einen Kollegen ohne Admin-Rechten prüfen lassen, ob das alles passt. Er sieht die Ordner im SiteArchitect, wie erwartet, nicht. Aber der Menüpunkt wird ihm im ContentCreator in der Navigation angezeigt.
Woher kommt dieses unterschiedliche Verhalten? Muss ich da bei der Navigationsfunktion noch auf irgendwas prüfen? Ich hatte angenommen, dass das automatisch passiert.
Viele Grüße
Nina
Hallo Nina,
die Rechte (insbesondere des Recht "Lesen" in diesem Fall) definieren, auf was ein Benutzer zugreifen darf. Ohne das Lesen-Recht darf er den entsprechenden Knoten nicht sehen - der Klick auf den Navigationspunkt wird also dazu führen, dass eine Fehlerseite angezeigt wird.
Das der entsprechende Knoten in der Navigation angezeigt wird, liegt aber daran, dass diese in einem anderen Kontext aufgebaut wird. Zum einen wird die Vorschau über einen technischen Nutzer ("SYSTEM") erzeugt, der außerhalb des Rechtesystems steht.
Zum anderen wird die Vorschau aus Performancegründen gecacht - die einmal erzeugte Vorschaudatei wird also behalten, bis entweder eine Änderung an den Inhalten vorgenommen wurde oder eine bestimmte Zeit (standardmäßig 20 Sekunden) verstrichen ist. Somit ist die Information, welcher User die Vorschau angefordert hat, irrelevant, da eine zeitnahe Anforderung durch einen anderen Benutzer die Vorschau dann im falschen Kontext anzeigen würde.
Hier ist auch fraglich, was fachlich gewünscht ist. Soll die Darstellung im ContentCreator das abbilden, was ein Benutzer im Live-System sieht? Oder soll dort nur das sichtbar sein, was der Redakteur sehen darf? Wenn letzteres gewünscht ist, dann muss die Navigationsfunktion so geändert werden, dass entsprechende Navigationspunkte nicht angezeigt werden (entweder über die Optionen auf dem Ordner in der Struktur (In Navigationsmenü anzeigen deaktivieren, evtl. auch in Anzeige in der Sitemap deaktivieren oder beispielsweise über Metadaten, die die Anzeige in der Vorschau unterbinden).
Entsprechende Schritte müssen sowieso umgesetzt werden, da das FirstSpirit Rechtesystem außerhalb von FirstSpirit (z.B auf der Liveseite) nicht mehr gütig ist. Spätestens hier muss also dafür gesorgt werden, dass die entsprechenden Daten auf eine andere Art geschützt werden.
Anmerkung: Wenn die Vorschau einer Seite, die den entsprechenden Knoten über die Navigation "sieht" im SiteArchitect angefordert wird, so ist auch dort der Knoten sichtbar.
Ich hoffe, dass Dir diese Informationen etwas weiterhelfen
Viele Grüße
Holger
Hallo Nina,
die Rechte (insbesondere des Recht "Lesen" in diesem Fall) definieren, auf was ein Benutzer zugreifen darf. Ohne das Lesen-Recht darf er den entsprechenden Knoten nicht sehen - der Klick auf den Navigationspunkt wird also dazu führen, dass eine Fehlerseite angezeigt wird.
Das der entsprechende Knoten in der Navigation angezeigt wird, liegt aber daran, dass diese in einem anderen Kontext aufgebaut wird. Zum einen wird die Vorschau über einen technischen Nutzer ("SYSTEM") erzeugt, der außerhalb des Rechtesystems steht.
Zum anderen wird die Vorschau aus Performancegründen gecacht - die einmal erzeugte Vorschaudatei wird also behalten, bis entweder eine Änderung an den Inhalten vorgenommen wurde oder eine bestimmte Zeit (standardmäßig 20 Sekunden) verstrichen ist. Somit ist die Information, welcher User die Vorschau angefordert hat, irrelevant, da eine zeitnahe Anforderung durch einen anderen Benutzer die Vorschau dann im falschen Kontext anzeigen würde.
Hier ist auch fraglich, was fachlich gewünscht ist. Soll die Darstellung im ContentCreator das abbilden, was ein Benutzer im Live-System sieht? Oder soll dort nur das sichtbar sein, was der Redakteur sehen darf? Wenn letzteres gewünscht ist, dann muss die Navigationsfunktion so geändert werden, dass entsprechende Navigationspunkte nicht angezeigt werden (entweder über die Optionen auf dem Ordner in der Struktur (In Navigationsmenü anzeigen deaktivieren, evtl. auch in Anzeige in der Sitemap deaktivieren oder beispielsweise über Metadaten, die die Anzeige in der Vorschau unterbinden).
Entsprechende Schritte müssen sowieso umgesetzt werden, da das FirstSpirit Rechtesystem außerhalb von FirstSpirit (z.B auf der Liveseite) nicht mehr gütig ist. Spätestens hier muss also dafür gesorgt werden, dass die entsprechenden Daten auf eine andere Art geschützt werden.
Anmerkung: Wenn die Vorschau einer Seite, die den entsprechenden Knoten über die Navigation "sieht" im SiteArchitect angefordert wird, so ist auch dort der Knoten sichtbar.
Ich hoffe, dass Dir diese Informationen etwas weiterhelfen
Viele Grüße
Holger
Hallo Holger,
das erklärt zumindest das Verhalten, danke.
Auf der Live-Seite haben wir das Problem bereits gelöst. Wie von dir erwähnt, haben wir da in den Metadaten Berechtigungsgruppen, die dann über Thymeleaf gegen den eingeloggten User abprüft werden. Entsprechend werden dann Navigationspunkte ein bzw. ausgeblendet. Aber dafür brauchen wir ein Backend und das haben wir in der Preview und im CC natürlich nicht.
Wenn ich den Ordner über die Menüstruktur ausblende, dann kann auch jemand mit den Rechten das Element im CC natürlich nicht mehr sehen und auch nicht damit arbeiten. Da die Redakteure, auch die mit Sonderrechten, aber im CC arbeiten sollen, hilft mir das, glaube ich nicht weiter.
Ich sehe das richtig, dass ich eigentlich nur ganz oder gar nicht habe, oder? Es gibt keine Möglichkeit, in der Preview oder im CC auf die Rechte des Users zuzugreifen.
Dann hoffe ich mal, dass sie mit "die anderen können den Ordner sehen, aber nicht den Inhalt" zufrieden sind.
Viele Grüße
Nina
Hallo Nina,
wie bereits geschrieben führt der Entzug des Lesen Rechts dazu, dass der Nutzer die entsprechende Seite nicht angezeigt bekommt. Zwar ist der Navigationspunkt sichtbar, der Aufruf der Seite aber nicht möglich.
Die Rechte des Users in der Vorschau oder im ContentCreator auszuwerten, ist nur bedingt möglich. Wie bereits geschrieben ist die Generierung der Vorschauseite unabhängig vom aktuellen Benutzer (technisch wird diese über ein Servlet angefordert und mit dem User SYSTEM erzeugt). Den aktuellen User kann man aber über die Session ermitteln, wie beispielsweise hier beschrieben: ContentCreator (CC) aktueller Nutzer
Bei der Vorschauberechnung kommt man wiederum an die aktuelle Seite und über diese an die dort konfigurierten Rechte. Der Aufwand ist allerdings recht hoch und auch "teuer" {die Vorschauberechnung würde sich merklich verlängern}, da dies ja in der Navigation für jeden Navigationseintrag ermittelt werden müsste.
Viele Grüße
Holger