Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Optimierung von Berechtigungen  Dokument im Navigationsbaum lokalisieren

Im Folgenden wird beschrieben, wie Berechtigungen zur Query-Laufzeit zusammengefasst und optimiert werden, bevor die tatsächliche Prüfung erfolgt. Insbesondere wird erklärt, wie Merkmale, für die keine expliziten Einträge vorhanden sind, gehandhabt werden.

Die Optimierung läuft folgendermaßen ab:

...

       1.      Befüllung von leeren Dimensionen

Wenn in einer Berechtigung ein Merkmal nicht angegeben ist, dann bedeutet das zunächst, dass die berechtigten Werte für dieses Merkmal nicht festgelegt sind. Deshalb wird dann auf alle berechtigten Einträge von allen anderen Berechtigungen referenziert - selbstverständlich unter Berücksichtigung der Regeln für multidimensionale  "kombinatorische" Einschränkungen. Nur wenn der Benutzer auch keine andere Berechtigung hat, die zu dem leeren Merkmal beitragen können, hat der Benutzer gar keine Berechtigung. Dann wird die Meldung "Keine Berechtigung" ausgegeben, falls hier dieses Merkmal im InfoProvider vorkommt. Beachten Sie: Auch wenn das Merkmal nicht in der Query vorkommt ist eine Berechtigung erforderlich, siehe dazu Berechtigung für aggregierte Werte.

       2.      Zusammenführung von Berechtigungen

Nachdem die leeren Dimensionen gefüllt worden sind, werden die resultierenden Berechtigungen zusammengefasst - falls möglich.

       3.      Iteration

Die Schritte (1) und (2) werden so oft wiederholt, bis keine weitere Optimierung mehr möglich ist.

Diese Logik vereinfacht die Pflege und liefert einen Mechanismus, mit dem unterschiedliche Kontexte in unterschiedliche Berechtigungen aufgeteilt werden können und dann automatisch "wie erwartet" zusammengefasst werden.

Empfehlungen

Sie können die Schritte zur Optimierung im Berechtigungsprotokoll nachvollziehen. Es kann mehrere Iterationsschritte erfordern, um den endgültigen Satz von Berechtigungen zu erhalten. Aus diesen Gründen werden die Berechtigungen einfach nummeriert (1, 2, 3,...). Dies wird im Berechtigungsprotokoll angezeigt. Der Prozess der Kombination und Voroptimierung der Berechtigungen wurde selbst auch optimiert und einige Vorgänge sind daher nicht offensichtlich.

Natürlich ist es immer möglich, Berechtigungen derart zu bauen, dass sie so viele neue unterschiedlichen Berechtigungen ergeben, dass die Performance darunter leidet. Das kann jedoch technisch nicht klar vorhergesehen werden, etwa um beim Zuordnen der Berechtigungen zu Benutzern davor zu warnen.

Sie sollten daher selbst schon versuchen, das Berechtigungskonzept einfach zu halten. Zum Beispiel durch Reduktion der Zahl der berechtigungsrelevanten Merkmale im InfoProvider oder durch die Verringerung der Zahl an Berechtigungen, die einem Benutzer zugeordnet werden. 

Eine uneinheitliche Beschreibung von Merkmalsausprägungen kann sich auch ungünstig auswirken. Beispielsweise die Verwendung eines Intervalls [01,03] in einer Berechtigung und der Einzelwerte 01 und 03 in einer anderen. Für Aktivität ist dies logisch das gleiche. Nicht jedoch für Merkmale mit einer Länge von 10 Zeichen. Hier wäre eine einheitliche Verwendung eines der beiden Ausdrücke (Intervall oder Liste von Einzelwerten) logisch identisch, ergäbe aber eine bessere Performance.                                     

Wichtig: Es wird allgemein ein Unterschied zwischen den beiden Beschreibungen gemacht. Eine Überprüfung auf den zugrunde liegenden Typ des Merkmales kann aus Performancegründen nicht gemacht werden und beide Beschreibungen sind im allgemeinen nicht identisch.                   

Ende des Inhaltsbereichs