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 />

Wenn ein neues Anwendungsobjekt erzeugt wird, werden die folgenden Schritte<br />

ausgeführt:<br />

1. Wenn ein neues Anwendungsobjekt erzeugt wird, erkennt dies der<br />

Sicherheitsproxy (die Klasse „AbstractAuthorizationAspect“).<br />

2. Dieser prüft mit Hilfe der Objekt-Verwaltung, ob es sich bei dem Objekt um<br />

eine zu schützende Anwendungsklasse handelt.<br />

3. Wenn ja, dann muss die Policy-Verwaltung diesem Objekt eine Policy<br />

zuweisen.<br />

4. Wenn der Benutzer bereits ein „PolicySet“ für diese Klasse und die von ihm<br />

gewählte Objekt-Klassifizierung (z.B. alle Fahrtenbucheinträge mit der<br />

Klassifikation Privat) hat, dann wird dem Objekt dieses „PolicySet“ zugeordnet.<br />

5. Andernfalls wird ein neues PolicySet erzeugt und dem Objekt zugewiesen.<br />

Es wird hier jedoch auf verschachtelte Objektgruppen verzichtet. Das Konzept kann<br />

aber entsprechend abgeändert werden. Dabei ist darauf zu achten, dass kein Zyklus im<br />

Objektgruppengraph entsteht, da eine Gruppe nicht in sich selbst enthalten sein kann.<br />

4.3.4 Die Aktionsverwaltung<br />

Genauso wie die Policy-Verwaltung ist auch die Aktionsverwaltung eine Singelton<br />

Klasse. Sie verwaltet die Einstellungen für alle zu schützenden Methoden. Die<br />

Aktionsverwaltung wird beispielsweise in dem Sequenzdiagramm in Abbildung 16<br />

verwendet.<br />

Für jede zu schützende Methode erzeugt die Aktionsverwaltung eine Ontologie<br />

„SecureAction“. Außerdem bietet sie Funktionen zum Erzeugen, Ändern, Einsehen und<br />

Löschen von den Ontologien „ObjectType“ und „Permission“ an (siehe Abbildung 19).<br />

Zugriffsrechte (engl. permissions) könnten z.B. wie folgt definiert sein:<br />

• Für get-Methoden Leserechte,<br />

• für set-Methoden Schreibrechte und<br />

• für delete-Methoden Löschrechte.<br />

46

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!