Table of Contents

Regeln für Laufzeitlizenzen

Innerhalb einer Lizenz

Tip

Faustformel

  • allowed-inherited Erlaubt - gewinnt vor denied-inherited verboten - gewinnt vor none nicht gesetzt.
  • Nur allowed/allowed-inherited erlaubt ist lizenziert.

Eine Lizenz wird immer für ein bestimmtes Package und die dafür gültige Access Unit Hierarchie erstellt. Bei Customizing-Packages wird die Lizenz auf die komplette Access Unit Hierarchie inkl. aller Basis-Packages angewendet.

Die vom Anwender gesetzten Informationen (allowed, denied und explicit-none) werden auf diesen Baum angewendet und auf die darunterliegenden Teil-Bäume projiziert. Dabei gelten die folgenden Regeln:

  • Wird ein Knoten allowed erlaubt, vererbt sich diese Information auf die darunterliegenden Knoten allowed-inherited.

  • Wird ein Knoten denied verboten, vererbt sich diese Information auf die darunterliegenden Knoten denied-inherited.

  • Wird ein Knoten auf explicit-none None gesetzt, dann gelten die darunterliegenden Knoten als nicht gesetzt none.

  • Befindet sich ein Knoten in mehreren Teilbäumen gleichzeitig, dann erbt dieser mehrere Informationen von unterschiedlichen darüberliegenden Knoten. Dabei gilt die folgende Priorität:

    1. allowed-inherited erlaubt, wenn ein darüberliegender Knoten auf allowed erlaubt gesetzt ist.
      Dies schlägt ggf. denied-inherited verboten.
    2. denied-inherited verboten, wenn ein darüberliegender Knoten auf denied verboten gesetzt ist.
      Dies schlägt ggf. none nicht gesetzt.
    3. none nicht gesetzt, wenn ein darüberliegender Knoten auf explicit-none None gesetzt ist.

Darüber hinaus gelten folgende allgemeine Regeln:

  • Nur Knoten, die allowed/allowed-inherited erlaubt sind, gelten als lizenziert.
    Gibt es für einen Knoten keine Information (explicit-none None oder none nicht gesetzt), dann gilt dieser als nicht lizenziert.
    Eine Lizenz in einem Customizing-Package kann diese Knoten nicht nachträglich erlauben. (siehe auch Kombination von Lizenzen)

  • Graue hinterlegte Checkboxen base-denied bedeuten, dass die Lizenz eines Basis-Packages diesen Knoten nicht erlaubt.
    In der eigenen Lizenz werden die oben beschriebenen Regeln zwar normal angewendet – durch die Basis-Lizenz verbotene Knoten lassen sich jedoch so nicht freischalten. (siehe auch Kombination von Lizenzen)

  • Die Auflösung einer Lizenz erfolgt immer mit dem Baum aus Sicht des jeweiligen Packages inkl. der darunterliegenden Basis-Packages. Knoten aus darüber liegenden Customizing-Packages werden nicht berücksichtigt.

Kombination von Lizenzen

Tip

Faustformel

  • denied verboten gewinnt.
  • Customzing kümmert sich um seine eigenen Knoten.
  • Customizing kann keine Basis-Lizenz freischalten.

Bei mehreren Packages wird für jedes Package eine eigene Lizenz erstellt. Diese werden zur Laufzeit kombiniert. Dabei gelten die folgenden Regeln:

  • Eine Customizing-Lizenz muss Knoten, die bereits durch die Basis-Lizenz erlaubt sind, nicht erneut aktiv erlauben. Die Erlaubnis aus der Basis-Lizenz bleibt bestehen.

  • Eine Customizing-Lizenz kann jedoch Knoten, die durch die Basis-Lizenz erlaubt sind, explizit verbieten. In diesem Fall gilt das Verbot aus der Customizing-Lizenz.

  • Ein Customizing-Package kann für ein Basis-Package einen Knoten nicht nachträglich lizenzieren, wenn dieser in der Basis-Lizenz verboten ist. Das gilt auch dann, wenn eine Access-Unit des Basis-Packages zusätzlich in einem anderen Teil

  • Neue Knoten müssen in der Customizing-Lizenz erlaubt werden. Das gilt auch dann, wenn die neue Access-Unit in einen Teil-Baum eingehängt wird, der bereits durch das Basis-Package lizensiert ist.

Die folgende Tabelle zeigt, wie die Kombination von Basis- und Customizing-Lizenzen das Ergebnis beeinflusst:

Basis-Lizenz Customizing-Lizenz Ergebnis der Kombination
allowed allowed-inherited erlaubt explicit-none none nicht gesetzt allowed erlaubt
allowed allowed-inherited erlaubt allowed allowed-inherited erlaubt allowed erlaubt
allowed allowed-inherited erlaubt denied denied-inherited verboten denied verboten
denied denied-inherited verboten egal, was gesetz ist denied verboten
kein Knoten explicit-none none nicht gesetzt denied verboten
kein Knoten allowed allowed-inherited erlaubt allowed erlaubt
kein Knoten denied denied-inherited verboten denied verboten