02.02.2014 Aufrufe

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Entwurf</strong>: Policy-basierte <strong>Zugriffskontrolle</strong><br />

4.3.1 Die Verwaltung der Policy-Dateien<br />

Die Zugriffsverwaltung (hier auch PolicySet-Dienst genannt) kümmert sich um die<br />

Verwaltung der Zugriffsrechte. Hierzu ordnet sie „Policies“ einem Objekt oder <strong>einer</strong><br />

Objektgruppe zu. Sie ist gemäß des <strong>Entwurf</strong>smusters „Singelton“ konzipiert worden<br />

(vgl. [Bal99] S. 287 ff.). Das bedeutet, dass es immer nur eine einzige Instanz<br />

„PolicySetService“ gibt, die von allen Klassen im Paket „Security“ angesprochen<br />

werden kann.<br />

Die wichtigste Funktion der Zugriffsverwaltung ist die Überprüfung der Zugriffe auf<br />

geschützte Objekte bzw. Methoden. Der Ablauf dieser Zugriffsprüfung ist im folgenden<br />

Sequenzdiagramm in Abbildung 16 dargestellt.<br />

Abbildung 16: Sequenzdiagramm „Zugriffskontrollprüfung“ (eigene Darstellung)<br />

Folgende Schritte werden im Wesentlichen durchgeführt:<br />

1. Ein Funktionsaufruf wird vom Sicherheitsproxy (die Klasse<br />

„AbstractAuthorizationAspect“) abgefangen.<br />

2. Der Sicherheitsproxy nutzt die Aktionsverwaltung, um zu überprüfen, ob die<br />

Aktion zu den geschützten Aktionen gehört.<br />

3. Der Proxy (bzw. der Aspekt) ruft eine Funktion der Klasse Policy-Verwaltung<br />

(hier „PolicySetService“) auf, die die Zugriffsrechteprüfung bearbeitet.<br />

4. Um an das zugehörige „PolicySet“ zu gelangen („getPid“), verwendet die<br />

Policy-Verwaltung eine Klasse „oidPidMap“, die eine Tabelle für die<br />

Zuordnung von PolicySet-Identifikationen zu Objekten verwaltet.<br />

43

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!