Frage

Ich bin auf der Suche nach einem Sicherheits-Framework für Java-Web-Anwendung mit Object Granularität.

Was es bedeutet, ist, dass ich einfach nicht von URLs oder durch Rollen filtern möchten, aber durch bestimmte Benutzer den Besitz von Domain-Objekte innerhalb des Systems.

Zum Beispiel, wenn es ein Message Objekt, das einen Sender Benutzer und einen Receiver Benutzer hat würde ich es in die Lage sein möge so zu konfigurieren, dass jede Nachricht durch den Absender und RO durch seinen Empfänger RW werden.

oder beispielsweise alle Benutzerprofile sind sichtbar für alle Benutzer, sondern nur bearbeitet werden, durch den Eigentümer.

Diese Regeln, natürlich, würde Ich mag sie mit Metadaten definieren (Annotationen, XML-Dateien, was auch immer) und nicht in meiner Business-Logik eingebettet ist.

Gibt es so ein Tier da draußen? Vorzugsweise Open Source.

War es hilfreich?

Andere Tipps

Sie suchen Access Control Lists (ACLs). Wie die anderen Befragten denke ich, Spring Security hier Check-out wert ist - Acegi ist genau das, was Spring Security aufgerufen werden verwendet, bevor sie es umbenannt. Spring Security hat für ACLs explizite Unterstützung haben (zusätzlich zu den URL-basierte, rollenbasierte und gruppenbasierte Zugangskontrollen). Es unterstützt sowohl XML und Annotation-basierte Konfiguration. Und Sie können sie bewerben ACL Filterung die Ansicht (Taglibs mit entscheiden, was in der JSP zu machen oder zu unterdrücken), um Methoden, die ein einzelnes Domain-Objekt zurück (entscheiden, ob der Aufruf der Methode zu ermöglichen, um erfolgreich zu sein), und Verfahren, die eine Rückkehr Sammlung (entscheiden, welche aus der Sammlung filtern Objekte, bevor er zurückkehrt).

Möglicherweise können Sie mit Ihrem eigenen Roll ACL-Code für einfache Anforderungen wegzukommen, aber meiner Meinung nach ACLs kann tückisch ziemlich schnell. Vor allem, wenn Sie viele Domain-Objekte haben, und Sie müssen anfangen, Performance-Management ernst nehmen.

Überprüfen Sie diesen Link Acegi Sicherheit fundementals - es ist etwas veraltet, aber immer noch gibt Ihnen die wichtigsten Konzepte von Spring Security Objektebene Autorisierungsmechanismen.

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