CMS-Leserechte in der Vorschau beachten

Im Auslieferungszustand von CMS Fiona werden die Zugriffsrechte für Vorschauseiten aus den Live-Leserechten ermittelt.

Um den Zugriff von Redakteuren auf die Vorschauseite einer CMS-Datei zu steuern, kann es wünschenswert sein, nicht das Live-Leserecht, sondern das Leserecht für die Datei im Redaktionssystem heranzuziehen.

Dies können Sie erreichen, indem Sie den Authorizer des Portal Managers entsprechend konfigurieren. Aktivieren Sie hierfür in der Datei pm.xml der GUI-Webapplikation anstelle des DefaultAuthorizer den Preview-Authorizer des CM.

…
<bean id="authorizationManager"
    class="com.infopark.pm.user.DefaultAuthorizationManager">
  <property name="authorizers">
    <list>
      <!--<bean class="com.infopark.pm.user.DefaultAuthorizer"/>-->
      <bean class="com.infopark.cm.htmlgui.browse.preview.Authorizer" />
    </list>
  </property>
</bean>
…

Bei nicht gesetzten Live-Leserechten wird voreingestellt keine Autorisierung bei Vorschauseiten durchgeführt.

Damit der Permission-Filter auch bei leerem Live-Leserecht den Authorization-Manager aufruft, muss in der Datei pm-filter.xml der GUI-Webapplikation das Property authorizeAnyway auf true gesetzt werden:

…
<bean id="pmPermissionFilter" class="com.infopark.pm.PermissionFilter">
  <property name="authorizeAnyway" value="true" />
</bean>
…

Es ist ebenfalls möglich, zusätzlich zum Preview-Authorizer des CM den DefaultAuthorizer zu verwenden. Allerdings gewährt diese Einstellung immer Zugriff, wenn keine Live-Leserechte vergeben wurden.

Hintergrundinformationen

Im Auslieferungszustand von CMS Fiona gelten für die Vorschau von CMS-Dateien dieselben Leserechte wie für die entsprechenden Live-Seiten. Der Grund dafür ist, dass sowohl die Vorschauseiten als auch die Live-Seiten vom Portal Manager ausgeliefert werden und dieser die Live-Leserechte der CMS-Dateien auswertet. Dadurch unterliegen auch die CMS-Benutzer den vergebenen Live-Leserechten.

Um zu prüfen, ob ein Besucher eine bestimmte Seite sehen darf, untersucht der Permission-Filter des Portal Managers die Live-Leserechte der betreffenden CMS-Datei. Spezifiziert das Live-Leserecht dieser Datei keine Benutzergruppen, so gewährt er Zugriff auf die Seite – es sei denn, authorizeAnyway wurde auf true gesetzt. Wenn dem Live-Leserecht Gruppen zugewiesen wurden oder dieses Property true ist, übergibt der Permission-Filter die Steuerung dem Authorization-Manager.

Um die Frage nach dem Zugriffsrecht des Besuchers endgültig zu beantworten, ruft der Authorization-Manager die konfigurierten Authorizer auf. Es sind zwei Authorizer verfügbar, der DefaultAuthorizer des Portal Managers und der Authorizer des Content Managers.

AuthorizerWirkung
DefaultAuthorizer (PM) Erlaubt Zugriff, wenn der angemeldete Benutzer Mitglied in einer der Live-Leserecht-Gruppen der betreffenden CMS-Datei ist, oder das Live-Leserecht keine Gruppennamen enthält.
Authorizer (CM) Erlaubt Zugriff, wenn der angemeldete Benutzer lesenden Zugriff auf die CMS-Datei hat. Dies ist dann der Fall, wenn er ein Superuser ist oder über seine Gruppenzugehörigkeit das Administrations- oder Leserecht für die betreffende CMS-Datei hat.

Wie oben beschrieben, können die Authorizer einzeln oder zusammen verwendet werden, um den Zugriff auf die Vorschau- und Live-Seiten zu steuern.