Hallo zusammen
Für eine Applikation setzen wir Hibernate, bzw. den javax.persistence-EntityManager ein. Um nun auf einfache Art und Weise einen Security-Layer einzuführen habe ich mir gedacht, ich könnte ja die Events nutzen und jeweils beim Laden/Speichern einer Entität einen Security-Check machen.
Bei Nutzung einer Hibernate-Session scheint es ja diese Möglichkeiten zu geben: 12.2.Event system, da kann ich z.B. einen LoadEventListener registrieren. Soweit ich sehen kann würde der das machen was ich möchte?
Bei der Nutzung des EntityManagers (wir nutzen momentan den) jedoch scheint es diese Möglichkeit nicht im gleichen Ausmass zu geben. Ich habe zwar so etwas ähnliches gefunden: PostLoad (Java EE 5), jedoch fehlt da z.B. der für mich wichtige PreLoad-Event. Ausserdem scheint das irgendwie an eine Methode und nicht an die Entität selbst gekoppelt zu sein. Bin nicht wirklich schlau geworden.
Kann mir jemand sagen, ob:
1. Mein Ansatz grundsätzlich so funktioniert?
2. Es bei javax.persistence auch solche Events gibt oder ich auf die Session von Hibernate umsteigen muss?
Vielen Dank für eure Antworten & Gruss
Ben
Für eine Applikation setzen wir Hibernate, bzw. den javax.persistence-EntityManager ein. Um nun auf einfache Art und Weise einen Security-Layer einzuführen habe ich mir gedacht, ich könnte ja die Events nutzen und jeweils beim Laden/Speichern einer Entität einen Security-Check machen.
Bei Nutzung einer Hibernate-Session scheint es ja diese Möglichkeiten zu geben: 12.2.Event system, da kann ich z.B. einen LoadEventListener registrieren. Soweit ich sehen kann würde der das machen was ich möchte?
Bei der Nutzung des EntityManagers (wir nutzen momentan den) jedoch scheint es diese Möglichkeit nicht im gleichen Ausmass zu geben. Ich habe zwar so etwas ähnliches gefunden: PostLoad (Java EE 5), jedoch fehlt da z.B. der für mich wichtige PreLoad-Event. Ausserdem scheint das irgendwie an eine Methode und nicht an die Entität selbst gekoppelt zu sein. Bin nicht wirklich schlau geworden.
Kann mir jemand sagen, ob:
1. Mein Ansatz grundsätzlich so funktioniert?
2. Es bei javax.persistence auch solche Events gibt oder ich auf die Session von Hibernate umsteigen muss?
Vielen Dank für eure Antworten & Gruss
Ben