Frage

Ich habe einen ziemlich ausgefeilten Sicherheitsmechanismen, die ich Apache Shiro implementiert (früher JSecurity). Um die genauen Sichtbarkeitsregeln für ein Objekt zu kennen, muss ich einige Code (das heißt Lookup-Benutzer-Rollen, Berechtigungen, Gruppen, usw.) ausgeführt werden. Ich möchte zum Ausführen von Abfragen, die mir sagen, Objekte, dass der aktuelle Benutzer berechtigt ist, zu sehen.

Ich fand, dass Hibernate Filter geben Ihnen Möglichkeit, einen Filter, um Ihre Objekte / Abfragen, die was zu sein scheint gelten ich hier nutzen könnten.

Allerdings sind die Beispiele, die ich scheinen gefunden auf der Datenbank zentriert werden (das heißt, ich habe ein Feld / Spalte isVisible, Filter, wenn es auf true gesetzt wird). Gibt es eine Weise, die ich einige Code als Hibernate Filter laufen kann, oder ist es nur eine dünne Schicht, die ein wenig WHERE-Klausel auf alle Ihre Anfragen erstellt.

ich eigentlich diese innerhalb Grails / GORM Infrastruktur verwenden, so vielleicht gibt es einige andere Lösungen, die gültig sind. Ein Plugin vorhanden , die Hibernate-Filter integriert, aber wenn ich es mit etwas Code verwenden kann, als laufen Teil des Hibernate-Filterprozess, wird es nicht wirklich mir helfen hier.

War es hilfreich?

Lösung

Leider Hibernate Filter werden Ihr Problem nicht lösen. Sie können sehr nützlich sein, aber es ist genau das eine dünne Schicht, die ein wenig fügt WHERE-Klausel zu jedem holen.

Da Sie Grails verwenden, könnten Sie feststellen, dass AOP Sie geben wird, was Sie suchen. Werfen Sie einen Blick auf diese: http://www.infoq.com/articles/aop- mit-groovy

Viel Glück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top