Einführung / Konfiguration von Benutzerrechten / Einsatz im Projekt / Manuelle Gruppendefinition

Manuelle Gruppendefinition und ID-Vergabe

Die Implementierung der Permission-Infrastruktur geht davon aus, dass jeder Knoten im Gruppenbaum eindeutig identifiziert werden kann oder keine Bedeutung hat. Dazu dient das ID-Attribut in der groups.xml-Datei, die vom Server bereitgestellt wird.

Grundsätzlich kann jeder Gruppe eine eigene, eindeutige ID zugeordnet werden. Diese Zuordnung muss erfolgen, wenn eine Gruppe keine weiteren Untergruppen hat (d.h. jedes Blatt muss eine ID haben). Sollte einer Gruppe keine ID zugeordnet werden, so definiert sich die Gruppen-ID implizit aus der Vereinigungsmenge aller Untergruppen-IDs (transitiv).

Die Semantik einer ID-Vergabe besteht darin, dass Personen nur in Gruppen mit einer ID vorhanden sein können. Wenn also eine Gruppe nur Untergruppen und keine Personen enthält, so muss keine ID vergeben werden. Eine solche Gruppe dient nur der Veranschaulichung. Wenn mindestens eine Person in einer Gruppe enthalten ist, so muss eine ID vergeben werden. Bei der ID-Vergabe sollte sichergestellt werden, dass die IDs mit den im Rahmen der Personalisierung ermittelten Gruppen-IDs übereinstimmen. Dabei ist besonders zu beachten, dass die Gruppenhierarchie im Personalisierungs-Modul nicht aufgelöst wird, da die Normalisierung bereits von der Rechtedefinitions-Komponente durchgeführt wird!

Bei der Auswertung der Rechtekonfiguration wird die zusammengesetzte ID zurückgeliefert.

Beispiel:

Alle (ID=, eff:1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
+--group 1 (ID=, eff: 7, 10)
+--+--group 1.1 (ID 7)
+--+-- group 1.2 (ID 10)
+--group 2 (ID=9, eff:1, 2, 3, 4, 5, 6,9)
+--+--group 2.1 (ID 4, eff: 1, 2, 3, 4)
+--+--+--group 2.1.1(ID 1)
+--+--+--group 2.1.2(ID 2)
+--+--+--group 2.1.3(ID 3)
+--+--group 2.2 (ID 6, eff: 5,6)
+-----+--group 2.2.1 (ID 5)
+--group 3 (ID=8)

In diesem Beispiel hat „group 1“ keine explizite ID, daher ergibt sich die ID aus der Vereinigungsmenge aller IDs der Untergruppen. In diesem Fall sind das „7“ und „10“. Wird also auf der Ebene von „group 1“ eine Konfiguration zurückgeliefert, so wird als Ergebnis „7, 10“ zurückgeliefert. Logisch bedeutet dies, dass in „group 1“ keine Personen enthalten sein können, sondern nur in „group 1.1 (7)“ und „group 1.2 (10)“.

Im Fall von „group 2“ ist dies anders. Diese Gruppe hat die ID 9 und zusätzlich diverse Untergruppen. Es gibt damit Personen, die direkt in „group 2“ sind oder in den Untergruppen.

© 2005 - 2022 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2022.12 | Datenschutz