Einführung / Konfiguration von Benutzerrechten / Schutz personalisierter Projektinhalte / Berechtigungsdefinition
Berechtigungsdefinition
Hierarchische Semantik
Die grundsätzliche Problematik einer Eingabekomponente für die Rechtedefinition liegt dabei in den folgenden Aspekten:
- Die Gruppen bilden in der Regel eine Hierarchie, die geeignet normalisiert werden muss. Dies heißt im Umkehrschluss: Benutzer mit Sonderfunktionen sind als separate Gruppe zu normalisieren.
- Die Verwaltungen bilden ebenfalls eine Hierarchie, die häufig für die Vererbung von Rechtedefinitionen genutzt wird.
- Es wird eine Modifikation von vererbten Rechten gewünscht
Die Verbindung dieser drei Punkte führt zu einer erheblichen, nicht auf den ersten Blick ersichtlichen Komplexität bei der Rechtedefinition, da:
- zu definieren ist, was es bedeutet, wenn eine Untergruppe etwas darf, was die Obergruppe nicht darf. Analog: Verbot
- zu definieren ist, welche Semantik die Verwaltung hat:
a) keine (z. B. Medien-Verwaltung/Inhalte-Verwaltung) d.h. nur Vererbung.
b) Hierarchie (z. B. Navigation über die Struktur-Verwaltung) d.h. Vererbung und Einschränkung - eine Unterscheidung zwischen „erlaubt“, „verboten“, „vererbt“ erforderlich ist.
Hierarchische Semantik (Gruppen)
Unter einer Gruppenhierarchie versteht man eine Organisationsform bei der Gruppen wieder aus einzelnen Gruppen bestehen können.
In FirstSpirit ist es möglich, auf jeder (in der Rechtedefinitions-Komponente) unterhalb des Root-Knotens liegenden Ebene der Gruppenhierarchie Rechte zu definieren. Diese Funktionalität bietet speziell bei der Konfiguration von Benutzerrechten eine Reihe von Vorteilen, da es so möglich ist auf einer Obergruppe Rechte zu definieren, die dann für alle Untergruppen gelten. So kann die Anzahl der notwendigen Konfigurationen auch bei vielen Gruppen gering gehalten werden.
In der FirstSpirit Rechtedefinitions-Komponente ist es möglich auf jeder unterhalb des Root-Knotens liegenden Ebene der Gruppenhierarchie einen der folgenden Werte zu definieren:
- Erlaubt
- Verboten
- Vererbt (d.h. entspricht der Einstellung der Obergruppe)
Es können auf allen Ebenen parallel Rechtedefinitionen erfolgen – hinsichtlich der „Sinnhaftigkeit“ der Konfiguration trifft die FirstSpirit Rechtedefinitions-Komponente keine Annahmen. Plausibilitätsprüfungen bzw. Validierungen können projektspezifisch umgesetzt werden.
Mit der Einführung von Gruppenhierarchien geht aber auch eine Reihe von Problemen einher:
- Was passiert bei „Widersprüchen“, beispielsweise wenn eine Untergruppe etwas darf, was die Obergruppe nicht darf?
- Ist eine Obergruppe eine eigenständige Entität?
- Was passiert, wenn sich die Gruppenhierarchie ändert?
Da diese Fragen nicht universell für jeden Anwendungsfall zu beantworten sind, bietet das Konzept der Benutzerrechte Ausdrucksmittel, um möglichst alle möglichen Antworten abbilden zu können. Konkret bedeutet dies:
- Die Liste der erlaubten und der verbotenen Gruppen wird getrennt verwaltet und kann einzeln ausgewertet werden. So können individuelle Vorrangstrategien umgesetzt werden.
- Eine Obergruppe ist genau dann eine eigenständige Entität, wenn ihr eine ID zugeordnet wird. Wird keine ID definiert, so „berechnet“ sich die ID der Gruppe als die Vereinigungsmenge aller IDs der Untergruppen.
- Veränderungen im Gruppengeflecht werden über ID-Erhaltungen und über Benachrichtigungsmechanismen abgedeckt.
Hierarchische Semantik (Verwaltungen)
Die Rechtedefinition ist eng verknüpft mit der Semantik der Verwaltungen. Es gibt zwei Möglichkeiten:
- keine hierarchische Semantik, ausgenommen Vererbung (z. B. Medien-Verwaltung/Inhalte-Verwaltung)
- Vererbungs- und Einschränkungshierarchie (z. B. Navigation über die Struktur-Verwaltung)
Im ersten Fall definiert der Verwaltungsbaum keine hierarchische Semantik außer der Vererbung (z. B. Medien-Verwaltung /Inhalte-Verwaltung). In diesem Fall können vielfältige Anomalien auftreten, beispielsweise:
- ein Benutzer hat zwar die erforderlichen Berechtigungen für ein Dokument, kann aber nicht auf das Dokument zugreifen, da er keine Berechtigung für die Seite besitzt, auf der das Dokument verlinkt ist.
- Umgekehrt kann ein Verweis auch auf ein Dokument zeigen, für das der Benutzer keine Berechtigungen hat.
Beide Fälle sind eigentlich Fehlkonfigurationen, allerdings sind diese schwer zu erkennen und damit kaum zu vermeiden.
Im zweiten Fall definiert die Verwaltung neben der Vererbungshierarchie eine Einschränkungshierarchie. Damit kann die Menge der berechtigten Personen entlang des Baumes nur eingeschränkt, aber nie erweitert werden. Dies macht Sinn, wenn die Baum-Hierarchie sich in Form eines hierarchischen Menüs widerspiegelt, da in diesem Fall der Zugriff auf ein „tieferes Element im Baum“ nur über den „darüberliegenden Knoten“ erfolgen kann. Damit ist eine Erweiterung der Berechtigungen sinnlos, da der darüber liegende Einstiegspunkt fehlt.
Zusammenfassend kann gesagt werden, dass das Verhalten im zweiten Fall in einigen Fällen die Möglichkeiten zur Fehlkonfiguration reduzieren kann, allerdings steht dem gegenüber eine erhöhte Anforderung bei der Konfigurationsvisualisierung.
Die FirstSpirit Implementierung bietet die notwendige Infrastruktur, um beide Varianten realisieren zu können.