2012-09-01 10 views
5

Ich versuche, geistig Java EE 6-Sicherheitskonzepte von Gruppen abzubilden, Benutzer und Rollen auf die Apache Shiro ‚s Konzepte Rollen, Benutzer und Berechtigungen und mein Verständnis ist, dass sie nicht kompatibel sind.Java EE 6 Gruppen, Benutzer und Rollen -vs- Shiros Rollen, Benutzer und Berechtigungen

Lesen durch die Java EE 6 security tutorial es scheint, dass das Modell zu restriktiv: Gruppen werden auf einer Pro-Server konfiguriert, nicht pro-Anwendung, Basis, die wirklich lässt uns mit nur zwei flexible Konzepte der Autorisierungsmechanismus zum Ausdruck bringen: Benutzer und Rollen, vorhanden in einer einfachen 1-zu-N-Beziehung. Im Gegensatz Shiros Modell Rollen, Benutzer und Berechtigungen ist viel dynamischer, da es eine ermöglicht Berechtigungen im kommentierten Code und ändern Sie die Zuordnung von Rollen zu Berechtigungen zur Laufzeit wie die Dinge zu hart codierte ändern oder wenn neue Rollen eingeführt werden. Ich sehe nicht, wie man das Gleiche mit der Container-verwalteten Autorisierung wie im Java EE 6-Modell machen kann.

Ist mein Verständnis korrekt? Denn das würde bedeuten, dass man mit containergesteuerter Autorisierung nicht wirklich weit kommen kann.

Antwort

2

Sie sind nicht kompatibel und ich denke, dass die Designer der Java EE-Sicherheit es falsch verstanden haben, wie die Terminologie in Bezug auf ROLES scheint.

Aus Erfahrung weiß ich, dass die Bereitstellung von Zugriffskontrolle basierend auf ROLE (die in ihrer Dokumentation vorgeschlagen wird) nur Probleme auf der Straße verursacht, wenn Sie eine Funktion für andere Gruppen/Rollen öffnen möchten. Berechtigungsbasierter Zugriff, der auf Rollen (oder Gruppen) zurückübertragen wird, scheint am besten zu funktionieren, da es sich um eine Neuzuordnungsübung auf einer abstrakten Ebene und nicht um eine Rekodierung/Neuanmerkung handelt.

Ich kann sehen, wie Sie über das Java EE-Sicherheitsmodell verwirrt wären. Ich würde vorschlagen, Shiro genauer zu betrachten und zu überlegen, wie es die Sicherheit auf Anwendungsebene modelliert. Les Hazelwood, der Schöpfer von Shiro, schrieb eine blog about RBAC, die viel Sinn für Anwendungen macht, die eine feinkörnige Kontrolle sogar bis zur Instanzstufe benötigen.

Verwandte Themen