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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Implementierung der <strong>Zugriffskontrolle</strong><br />

noch die Objektgruppe, zu der das Objekt gehört, mit der Funktion “getObjectGroup”<br />

ermittelt.<br />

5.1.2 Der anwendungsunabhängige Autorisierungsaspekt<br />

Der anwendungsspezifische Autorisierungsaspekt erbt die eigentliche Funktionalität<br />

von einem anwendungsunabhängigen Autorisierungsaspekt. Dieser definiert Pointcuts<br />

(siehe Abschnitt 3.3.4) für Zugriffskontrollaufrufe und für die Zuweisung von Policy-<br />

Dateien.<br />

Der Pointcut „AuthorizationOperations“ webt in alle eingebundenen Methodenaufrufe<br />

ein Zugriffskontrollaufruf ein (siehe Abbildung 27 Zeile 5). Es werden aber nicht alle<br />

Methodenaufrufe überprüft, sondern nur solche, die durch die Konfiguration als<br />

sicherheitsrelevant eingestuft sind.<br />

1 public aspect AbstractAuthorizationAspect{<br />

2 public interface SecuredClasses{String ID=““;};<br />

3 …<br />

4 protected pointcut AuthorizationOperations()<br />

5 : call(* SecuredClasses+.*(..)) &&<br />

6 if(isAction(thisJoinPointStaticPart.<br />

getSignature().getName(),<br />

thisJoinPointStaticPart.getSignature()<br />

.getDeclaringType().getName()<br />

7 ));<br />

8 …<br />

9 Object around() : AuthorizationOperations() {<br />

10 …<br />

11 }<br />

Abbildung 27: Pointcut: „AuthorizationOperations“ (eigene Darstellung)<br />

Damit die Funktion „isAction“ in der Konfiguration nachschauen kann, werden ihr alle<br />

notwendigen Daten über die Methode <strong>mittels</strong> “thisJoinPointStaticpart.getSignature”<br />

übergeben. Wenn die Prüfung erfolgreich war, dann werden alle zugehörigen Advices<br />

ausgeführt. Auf diese Weise wird der Advice in Zeile 9 aufgerufen, der die Zugriffskontrollprüfung<br />

durchführt, und der festlegt, was geschieht, wenn der Aufruf nicht<br />

zugelassen wird.<br />

Als weiteren Pointcut definiert der anwendungsunabhängige Autorisierungsaspekt den<br />

Pointcut „Initialization“, der dafür zuständig ist, beim Start des Anwendungsprogramms<br />

die Sicherheitsdienste, wie die Policy-Verwaltung (Abbildung 28 Zeile 7), die Objekt-<br />

Verwaltung (Zeile 8) und die Aktions-Verwaltung (Zeile 9) zu starten.<br />

53

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!