Besitzer von Ressource

Dieses Thema Besitzer von Ressource im Forum "Application Tier" wurde erstellt von Spitfire777, 6. Nov. 2012.

Thema: Besitzer von Ressource Hi, für meine Applikationsschicht suche ich eine Möglichkeit mit möglichst wenig Overhead und...

  1. Hi,

    für meine Applikationsschicht suche ich eine Möglichkeit mit möglichst wenig Overhead und Wiederverwendbarkeit dafür zu sorgen, dass z.B. ein Kunde nur seine eigenen Bestellungen sehen darf (eben die, die er mal aufgegeben hat).

    Jetzt will ich eben nicht in jede Methode einen extra Methodenaufruf einbauen, um das zu überprüfen. Viel lieber würde ich das mittels Annotationen prüfen.

    Gibt es dafür bereits etwas fertiges?

    Ansonsten hätte ich mir etwas mit einem Interceptor überlegt, mit einer Annotation in dieser art:
    Code (Java):

    @RolesAllowed({ "admin", "employee", "customer" })
    @OwnerPrivilegesNecessary("customer") // Meine Idee
    public List<Orders> getOrdersByCustomerId(Long customerId) { ... }
     
    Beim Aufruf wird dann der Parameter mit dem Principal in Verbindung gebracht und entsprechend die Rechte geprüft.
     
    Zuletzt bearbeitet: 6. Nov. 2012
  2. Vielleicht helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. In der Regel muss man da keine besonderen Klimmzüge machen, weil das Datenmodell das hergibt. Eine Bestellung ist doch einem Kunden zugeordnet.

    Ich sehe das Problem nicht...

    [OT] möglichst wenig Overhead und möglichst wenig Wiederverwendbarkeit ? ;-) [/OT]
     
  4. Ja, der Kunde ist im Datenmodell einer Bestellung selbstverständlich hinterlegt. Nur muss das ganze ja überprüft werden, ob der Principal auch der Kunde der Bestellung ist.

    Habs jetzt mit einem Interceptor umgesetzt, funzt.
     
  5. Auch die Prinzipalinformation hat in der Regel einen festen Kundenbezug, so dass eine explizite Prüfung nicht notwendig wäre. Aber das kann bei euch natürlich anders sein.
     
  6. KOSTENLOSES Java-Grundlagen Training im Wert von 39 € Sichere dir hier den kostenlosen Zugriff auf umfangreiches Java-Know How und starte richtig durch!